summaryrefslogtreecommitdiffstats
path: root/mlir/lib/Target/LLVMIR
diff options
context:
space:
mode:
authorLei Zhang <antiagainst@google.com>2019-09-17 12:16:05 -0700
committerA. Unique TensorFlower <gardener@tensorflow.org>2019-09-17 12:16:45 -0700
commitb00a522b801015f0c3d3ac7c3db1eddafca603cb (patch)
treee89316d1b8f1c9acddda05e43047c39afe8ff523 /mlir/lib/Target/LLVMIR
parentbd7de6d4dfb82df21f36c1c331cba87a4d0118f7 (diff)
downloadbcm5719-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.cpp13
-rw-r--r--mlir/lib/Target/LLVMIR/ConvertToNVVMIR.cpp13
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();
});
OpenPOWER on IntegriCloud