diff options
| author | Lei Zhang <antiagainst@google.com> | 2019-09-17 12:16:05 -0700 |
|---|---|---|
| committer | A. Unique TensorFlower <gardener@tensorflow.org> | 2019-09-17 12:16:45 -0700 |
| commit | b00a522b801015f0c3d3ac7c3db1eddafca603cb (patch) | |
| tree | e89316d1b8f1c9acddda05e43047c39afe8ff523 /mlir/lib/Target/LLVMIR | |
| parent | bd7de6d4dfb82df21f36c1c331cba87a4d0118f7 (diff) | |
| download | bcm5719-llvm-b00a522b801015f0c3d3ac7c3db1eddafca603cb.tar.gz bcm5719-llvm-b00a522b801015f0c3d3ac7c3db1eddafca603cb.zip | |
Change MLIR translation functions signature
This CL changes translation functions to take MemoryBuffer
as input and raw_ostream as output. It is generally better to
avoid handling files directly in a library (unless the library
is specifically for file manipulation) and we can unify all
file handling to the mlir-translate binary itself.
PiperOrigin-RevId: 269625911
Diffstat (limited to 'mlir/lib/Target/LLVMIR')
| -rw-r--r-- | mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp | 13 | ||||
| -rw-r--r-- | mlir/lib/Target/LLVMIR/ConvertToNVVMIR.cpp | 13 |
2 files changed, 4 insertions, 22 deletions
diff --git a/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp b/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp index 0ba15818859..b3bea0f036b 100644 --- a/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp +++ b/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp @@ -21,7 +21,6 @@ #include "mlir/Target/LLVMIR.h" -#include "mlir/Support/FileUtilities.h" #include "mlir/Target/LLVMIR/ModuleTranslation.h" #include "mlir/Translation.h" @@ -36,19 +35,11 @@ std::unique_ptr<llvm::Module> mlir::translateModuleToLLVMIR(ModuleOp m) { } static TranslateFromMLIRRegistration registration( - "mlir-to-llvmir", [](ModuleOp module, llvm::StringRef outputFilename) { - if (!module) - return failure(); - + "mlir-to-llvmir", [](ModuleOp module, llvm::raw_ostream &output) { auto llvmModule = LLVM::ModuleTranslation::translateModule<>(module); if (!llvmModule) return failure(); - auto file = openOutputFile(outputFilename); - if (!file) - return failure(); - - llvmModule->print(file->os(), nullptr); - file->keep(); + llvmModule->print(output, nullptr); return success(); }); diff --git a/mlir/lib/Target/LLVMIR/ConvertToNVVMIR.cpp b/mlir/lib/Target/LLVMIR/ConvertToNVVMIR.cpp index 32fa1674083..2b7ff6308d8 100644 --- a/mlir/lib/Target/LLVMIR/ConvertToNVVMIR.cpp +++ b/mlir/lib/Target/LLVMIR/ConvertToNVVMIR.cpp @@ -26,7 +26,6 @@ #include "mlir/Dialect/LLVMIR/NVVMDialect.h" #include "mlir/IR/Function.h" #include "mlir/IR/Module.h" -#include "mlir/Support/FileUtilities.h" #include "mlir/Target/LLVMIR/ModuleTranslation.h" #include "mlir/Translation.h" @@ -92,19 +91,11 @@ std::unique_ptr<llvm::Module> mlir::translateModuleToNVVMIR(ModuleOp m) { static TranslateFromMLIRRegistration registration("mlir-to-nvvmir", - [](ModuleOp module, llvm::StringRef outputFilename) { - if (!module) - return failure(); - + [](ModuleOp module, llvm::raw_ostream &output) { auto llvmModule = mlir::translateModuleToNVVMIR(module); if (!llvmModule) return failure(); - auto file = openOutputFile(outputFilename); - if (!file) - return failure(); - - llvmModule->print(file->os(), nullptr); - file->keep(); + llvmModule->print(output, nullptr); return success(); }); |

