Loading mlir/qir_qrt/CMakeLists.txt +5 −5 Original line number Diff line number Diff line add_library(qir-qrt OBJECT qir-qrt.cpp) target_include_directories( qir-qrt PUBLIC . ${CMAKE_SOURCE_DIR}/runtime/qrt ${XACC_ROOT}/include/cppmicroservices4 ${XACC_ROOT}/include/xacc ${XACC_ROOT}/include/qcor ${XACC_ROOT}/include/eigen ${XACC_ROOT}/include/quantum/gate) add_library(qir-qrt SHARED qir-qrt.cpp) #target_include_directories( # qir-qrt # PUBLIC . ${CMAKE_SOURCE_DIR}/runtime/qrt ${XACC_ROOT}/include/cppmicroservices4 ${XACC_ROOT}/include/xacc ${XACC_ROOT}/include/qcor ${XACC_ROOT}/include/eigen ${XACC_ROOT}/include/quantum/gate) target_link_libraries(qir-qrt PRIVATE xacc::xacc qcor qrt) install (TARGETS qir-qrt DESTINATION lib) No newline at end of file mlir/tools/qcor-mlir-tool.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -27,12 +27,13 @@ cl::opt<bool> noEntryPoint("no-entrypoint", cl::desc("Do not add main() to compiled output.")); namespace { enum Action { None, DumpMLIR, DumpLLVMIR }; enum Action { None, DumpMLIR, DumpMLIRLLVM, DumpLLVMIR }; } static cl::opt<enum Action> emitAction( "emit", cl::desc("Select the kind of output desired"), cl::values(clEnumValN(DumpMLIR, "mlir", "output the MLIR dump")), cl::values(clEnumValN(DumpLLVMIR, "llvm", "output the LLVM IR dump"))); cl::values(clEnumValN(DumpLLVMIR, "llvm", "output the LLVM IR dump")), cl::values(clEnumValN(DumpMLIRLLVM, "mlir-llvm", "output the MLIR LLVM Dialect dump"))); namespace { enum InputType { QASM }; } Loading Loading @@ -91,6 +92,11 @@ int main(int argc, char **argv) { return 1; } if (emitAction == Action::DumpMLIRLLVM) { module->dump(); return 0; } // Now lower MLIR to LLVM IR llvm::LLVMContext llvmContext; auto llvmModule = mlir::translateModuleToLLVMIR(*module, llvmContext); Loading tools/driver/qcor.in +3 −4 Original line number Diff line number Diff line Loading @@ -5,8 +5,7 @@ def main(argv=None): compiler = '@CLANG_EXECUTABLE@' verbose=False baseLibs = ['-rdynamic', '-Wl,-rpath,@XACC_ROOT@/lib:@CMAKE_INSTALL_PREFIX@/lib:@LLVM_INSTALL_PREFIX@/lib', '@CMAKE_INSTALL_PREFIX@/lib/objects/qir-qrt/qir-qrt.cpp.o', '-L', '@CMAKE_INSTALL_PREFIX@/lib','-lqcor', '-lqrt', '-lqcor-hybrid', '-lqcor-quasimo', '-lqcor-jit', '-L', '@CMAKE_INSTALL_PREFIX@/lib','-lqcor', '-lqrt', '-lqcor-hybrid', '-lqcor-quasimo', '-lqcor-jit', '-lqir-qrt', '-L', '@XACC_ROOT@/lib', '-lxacc', '-lCppMicroServices', '-lxacc-quantum-gate', '-lxacc-pauli', '-lxacc-fermion', '-lpthread'] Loading Loading @@ -366,7 +365,7 @@ def main(argv=None): else: # This is a .o file, so execute the link phase commands = [compiler] + baseLibs + sys.argv[1:] # if verbose: if verbose: print('[qcor-exec]: ', ' '.join([c for c in commands])) try: result = subprocess.run(commands, check=True) Loading Loading
mlir/qir_qrt/CMakeLists.txt +5 −5 Original line number Diff line number Diff line add_library(qir-qrt OBJECT qir-qrt.cpp) target_include_directories( qir-qrt PUBLIC . ${CMAKE_SOURCE_DIR}/runtime/qrt ${XACC_ROOT}/include/cppmicroservices4 ${XACC_ROOT}/include/xacc ${XACC_ROOT}/include/qcor ${XACC_ROOT}/include/eigen ${XACC_ROOT}/include/quantum/gate) add_library(qir-qrt SHARED qir-qrt.cpp) #target_include_directories( # qir-qrt # PUBLIC . ${CMAKE_SOURCE_DIR}/runtime/qrt ${XACC_ROOT}/include/cppmicroservices4 ${XACC_ROOT}/include/xacc ${XACC_ROOT}/include/qcor ${XACC_ROOT}/include/eigen ${XACC_ROOT}/include/quantum/gate) target_link_libraries(qir-qrt PRIVATE xacc::xacc qcor qrt) install (TARGETS qir-qrt DESTINATION lib) No newline at end of file
mlir/tools/qcor-mlir-tool.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -27,12 +27,13 @@ cl::opt<bool> noEntryPoint("no-entrypoint", cl::desc("Do not add main() to compiled output.")); namespace { enum Action { None, DumpMLIR, DumpLLVMIR }; enum Action { None, DumpMLIR, DumpMLIRLLVM, DumpLLVMIR }; } static cl::opt<enum Action> emitAction( "emit", cl::desc("Select the kind of output desired"), cl::values(clEnumValN(DumpMLIR, "mlir", "output the MLIR dump")), cl::values(clEnumValN(DumpLLVMIR, "llvm", "output the LLVM IR dump"))); cl::values(clEnumValN(DumpLLVMIR, "llvm", "output the LLVM IR dump")), cl::values(clEnumValN(DumpMLIRLLVM, "mlir-llvm", "output the MLIR LLVM Dialect dump"))); namespace { enum InputType { QASM }; } Loading Loading @@ -91,6 +92,11 @@ int main(int argc, char **argv) { return 1; } if (emitAction == Action::DumpMLIRLLVM) { module->dump(); return 0; } // Now lower MLIR to LLVM IR llvm::LLVMContext llvmContext; auto llvmModule = mlir::translateModuleToLLVMIR(*module, llvmContext); Loading
tools/driver/qcor.in +3 −4 Original line number Diff line number Diff line Loading @@ -5,8 +5,7 @@ def main(argv=None): compiler = '@CLANG_EXECUTABLE@' verbose=False baseLibs = ['-rdynamic', '-Wl,-rpath,@XACC_ROOT@/lib:@CMAKE_INSTALL_PREFIX@/lib:@LLVM_INSTALL_PREFIX@/lib', '@CMAKE_INSTALL_PREFIX@/lib/objects/qir-qrt/qir-qrt.cpp.o', '-L', '@CMAKE_INSTALL_PREFIX@/lib','-lqcor', '-lqrt', '-lqcor-hybrid', '-lqcor-quasimo', '-lqcor-jit', '-L', '@CMAKE_INSTALL_PREFIX@/lib','-lqcor', '-lqrt', '-lqcor-hybrid', '-lqcor-quasimo', '-lqcor-jit', '-lqir-qrt', '-L', '@XACC_ROOT@/lib', '-lxacc', '-lCppMicroServices', '-lxacc-quantum-gate', '-lxacc-pauli', '-lxacc-fermion', '-lpthread'] Loading Loading @@ -366,7 +365,7 @@ def main(argv=None): else: # This is a .o file, so execute the link phase commands = [compiler] + baseLibs + sys.argv[1:] # if verbose: if verbose: print('[qcor-exec]: ', ' '.join([c for c in commands])) try: result = subprocess.run(commands, check=True) Loading