Loading mlir/parsers/openqasm/CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -12,4 +12,4 @@ target_include_directories( ${LIBRARY_NAME} PUBLIC . .. ../../dialect ${XACC_ROOT}/include/staq/include ${XACC_ROOT}/include/staq/libs) target_link_libraries(${LIBRARY_NAME} PUBLIC quantum-dialect MLIRVector MLIRStandard) target_link_libraries(${LIBRARY_NAME} PUBLIC quantum-dialect MLIRIR MLIRLLVMIR MLIRVector MLIRStandard) mlir/parsers/openqasm/openqasm_mlir_generator.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -110,7 +110,7 @@ void OpenQasmMLIRGenerator::visit(Program &prog) { tmp->getArguments()[0]); builder.create<mlir::CallOp>(builder.getUnknownLoc(), function2); builder.create<mlir::quantum::QRTFinalizeOp>(builder.getUnknownLoc()); builder.create<mlir::ReturnOp>(builder.getUnknownLoc(), llvm::None); builder.create<mlir::ReturnOp>(builder.getUnknownLoc(), llvm::ArrayRef<mlir::Value>()); builder.setInsertionPointToStart(save_main_entry_block); m_module.push_back(function2); Loading Loading @@ -156,7 +156,9 @@ void OpenQasmMLIRGenerator::finalize_mlirgen() { } if (add_main) { builder.create<mlir::ReturnOp>(builder.getUnknownLoc(), llvm::None); // builder.create<mlir::ReturnOp>(builder.getUnknownLoc(), llvm::None); builder.create<mlir::ReturnOp>(builder.getUnknownLoc(), llvm::ArrayRef<mlir::Value>()); } } Loading mlir/tools/qcor-mlir-tool.cpp +3 −4 Original line number Diff line number Diff line Loading @@ -53,10 +53,10 @@ mlir::OwningModuleRef loadMLIR(mlir::MLIRContext &context, // llvm::StringRef(inputFilename).endswith(".qasm") // or llvm::StringRef(inputFilename).endswith(".quil") qcor::OpenQasmMLIRGenerator mlir_generator(context); auto function_name = llvm::sys::path::filename(inputFilename).split(StringRef(".")).first.str(); bool addEntryPoint = !noEntryPoint; mlir_generator.initialize_mlirgen( addEntryPoint, llvm::StringRef(inputFilename).split(StringRef(".")).first.str()); addEntryPoint,function_name); // FIXME HANDLE RELATIVE PATH mlir_generator.mlirgen(qasm_src); mlir_generator.finalize_mlirgen(); function_names = mlir_generator.seen_function_names(); Loading @@ -70,8 +70,7 @@ int main(int argc, char **argv) { "qcor quantum assembly compiler\n"); mlir::MLIRContext context; context.loadDialect<mlir::quantum::QuantumDialect, mlir::StandardOpsDialect, mlir::vector::VectorDialect>(); context.loadDialect<mlir::quantum::QuantumDialect, mlir::StandardOpsDialect>(); std::vector<std::string> unique_function_names; auto module = loadMLIR(context, unique_function_names); Loading Loading
mlir/parsers/openqasm/CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -12,4 +12,4 @@ target_include_directories( ${LIBRARY_NAME} PUBLIC . .. ../../dialect ${XACC_ROOT}/include/staq/include ${XACC_ROOT}/include/staq/libs) target_link_libraries(${LIBRARY_NAME} PUBLIC quantum-dialect MLIRVector MLIRStandard) target_link_libraries(${LIBRARY_NAME} PUBLIC quantum-dialect MLIRIR MLIRLLVMIR MLIRVector MLIRStandard)
mlir/parsers/openqasm/openqasm_mlir_generator.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -110,7 +110,7 @@ void OpenQasmMLIRGenerator::visit(Program &prog) { tmp->getArguments()[0]); builder.create<mlir::CallOp>(builder.getUnknownLoc(), function2); builder.create<mlir::quantum::QRTFinalizeOp>(builder.getUnknownLoc()); builder.create<mlir::ReturnOp>(builder.getUnknownLoc(), llvm::None); builder.create<mlir::ReturnOp>(builder.getUnknownLoc(), llvm::ArrayRef<mlir::Value>()); builder.setInsertionPointToStart(save_main_entry_block); m_module.push_back(function2); Loading Loading @@ -156,7 +156,9 @@ void OpenQasmMLIRGenerator::finalize_mlirgen() { } if (add_main) { builder.create<mlir::ReturnOp>(builder.getUnknownLoc(), llvm::None); // builder.create<mlir::ReturnOp>(builder.getUnknownLoc(), llvm::None); builder.create<mlir::ReturnOp>(builder.getUnknownLoc(), llvm::ArrayRef<mlir::Value>()); } } Loading
mlir/tools/qcor-mlir-tool.cpp +3 −4 Original line number Diff line number Diff line Loading @@ -53,10 +53,10 @@ mlir::OwningModuleRef loadMLIR(mlir::MLIRContext &context, // llvm::StringRef(inputFilename).endswith(".qasm") // or llvm::StringRef(inputFilename).endswith(".quil") qcor::OpenQasmMLIRGenerator mlir_generator(context); auto function_name = llvm::sys::path::filename(inputFilename).split(StringRef(".")).first.str(); bool addEntryPoint = !noEntryPoint; mlir_generator.initialize_mlirgen( addEntryPoint, llvm::StringRef(inputFilename).split(StringRef(".")).first.str()); addEntryPoint,function_name); // FIXME HANDLE RELATIVE PATH mlir_generator.mlirgen(qasm_src); mlir_generator.finalize_mlirgen(); function_names = mlir_generator.seen_function_names(); Loading @@ -70,8 +70,7 @@ int main(int argc, char **argv) { "qcor quantum assembly compiler\n"); mlir::MLIRContext context; context.loadDialect<mlir::quantum::QuantumDialect, mlir::StandardOpsDialect, mlir::vector::VectorDialect>(); context.loadDialect<mlir::quantum::QuantumDialect, mlir::StandardOpsDialect>(); std::vector<std::string> unique_function_names; auto module = loadMLIR(context, unique_function_names); Loading