Mercurial > hg > CbC > CbC_llvm
diff mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp @ 221:79ff65ed7e25
LLVM12 Original
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 15 Jun 2021 19:15:29 +0900 |
parents | 0572611fdcc8 |
children | c4bab56944e8 |
line wrap: on
line diff
--- a/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp Tue Jun 15 19:13:43 2021 +0900 +++ b/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp Tue Jun 15 19:15:29 2021 +0900 @@ -10,31 +10,30 @@ // //===----------------------------------------------------------------------===// -#include "mlir/Target/LLVMIR.h" - -#include "mlir/Target/LLVMIR/ModuleTranslation.h" +#include "mlir/IR/BuiltinOps.h" +#include "mlir/Target/LLVMIR/Dialect/All.h" +#include "mlir/Target/LLVMIR/Export.h" #include "mlir/Translation.h" - -#include "llvm/ADT/StringRef.h" +#include "llvm/IR/LLVMContext.h" #include "llvm/IR/Module.h" -#include "llvm/Support/ToolOutputFile.h" using namespace mlir; -std::unique_ptr<llvm::Module> mlir::translateModuleToLLVMIR(ModuleOp m) { - return LLVM::ModuleTranslation::translateModule<>(m); -} - namespace mlir { void registerToLLVMIRTranslation() { TranslateFromMLIRRegistration registration( - "mlir-to-llvmir", [](ModuleOp module, raw_ostream &output) { - auto llvmModule = LLVM::ModuleTranslation::translateModule<>(module); + "mlir-to-llvmir", + [](ModuleOp module, raw_ostream &output) { + llvm::LLVMContext llvmContext; + auto llvmModule = translateModuleToLLVMIR(module, llvmContext); if (!llvmModule) return failure(); llvmModule->print(output, nullptr); return success(); + }, + [](DialectRegistry ®istry) { + registerAllToLLVMIRTranslations(registry); }); } } // namespace mlir