[Mlir-commits] [mlir] ee1d447 - [mlir][NFC] Move Translation.h to a Tools/mlir-translate directory
River Riddle
llvmlistbot at llvm.org
Mon Mar 7 01:06:20 PST 2022
Author: River Riddle
Date: 2022-03-07T01:05:38-08:00
New Revision: ee1d447e5fff7941f9c5cdb4abadc77830277efd
URL: https://github.com/llvm/llvm-project/commit/ee1d447e5fff7941f9c5cdb4abadc77830277efd
DIFF: https://github.com/llvm/llvm-project/commit/ee1d447e5fff7941f9c5cdb4abadc77830277efd.diff
LOG: [mlir][NFC] Move Translation.h to a Tools/mlir-translate directory
Translation.h is currently awkwardly shoved into the top-level mlir, even though it is
specific to the mlir-translate tool. This commit moves it to a new Tools/mlir-translate
directory, which is intended for libraries used to implement tools. It also splits the
translate registry from the main entry point, to more closely mirror what mlir-opt
does.
Differential Revision: https://reviews.llvm.org/D121026
Added:
mlir/include/mlir/Tools/mlir-translate/MlirTranslateMain.h
mlir/include/mlir/Tools/mlir-translate/Translation.h
mlir/lib/Tools/mlir-translate/CMakeLists.txt
mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
mlir/lib/Tools/mlir-translate/Translation.cpp
Modified:
mlir/examples/standalone/standalone-translate/CMakeLists.txt
mlir/examples/standalone/standalone-translate/standalone-translate.cpp
mlir/lib/CMakeLists.txt
mlir/lib/Conversion/GPUToVulkan/CMakeLists.txt
mlir/lib/Target/Cpp/CMakeLists.txt
mlir/lib/Target/Cpp/TranslateRegistration.cpp
mlir/lib/Target/LLVMIR/CMakeLists.txt
mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
mlir/lib/Target/SPIRV/CMakeLists.txt
mlir/lib/Target/SPIRV/Deserialization/CMakeLists.txt
mlir/lib/Target/SPIRV/Serialization/CMakeLists.txt
mlir/lib/Target/SPIRV/TranslateRegistration.cpp
mlir/lib/Tools/CMakeLists.txt
mlir/tools/mlir-spirv-cpu-runner/CMakeLists.txt
mlir/tools/mlir-translate/CMakeLists.txt
mlir/tools/mlir-translate/mlir-translate.cpp
mlir/tools/mlir-vulkan-runner/CMakeLists.txt
Removed:
mlir/include/mlir/Translation.h
mlir/lib/Translation/CMakeLists.txt
mlir/lib/Translation/Translation.cpp
################################################################################
diff --git a/mlir/examples/standalone/standalone-translate/CMakeLists.txt b/mlir/examples/standalone/standalone-translate/CMakeLists.txt
index 137f7947cfac7..52464eb7dd62c 100644
--- a/mlir/examples/standalone/standalone-translate/CMakeLists.txt
+++ b/mlir/examples/standalone/standalone-translate/CMakeLists.txt
@@ -17,7 +17,7 @@ target_link_libraries(standalone-translate
MLIRParser
MLIRPass
MLIRSPIRV
- MLIRTranslation
+ MLIRTranslateLib
MLIRSupport
)
diff --git a/mlir/examples/standalone/standalone-translate/standalone-translate.cpp b/mlir/examples/standalone/standalone-translate/standalone-translate.cpp
index f2f0ac56360da..2c2f275c0c14e 100644
--- a/mlir/examples/standalone/standalone-translate/standalone-translate.cpp
+++ b/mlir/examples/standalone/standalone-translate/standalone-translate.cpp
@@ -13,7 +13,7 @@
#include "mlir/InitAllTranslations.h"
#include "mlir/Support/LogicalResult.h"
-#include "mlir/Translation.h"
+#include "mlir/Tools/mlir-translate/MlirTranslateMain.h"
#include "Standalone/StandaloneDialect.h"
diff --git a/mlir/include/mlir/Tools/mlir-translate/MlirTranslateMain.h b/mlir/include/mlir/Tools/mlir-translate/MlirTranslateMain.h
new file mode 100644
index 0000000000000..47769873529e6
--- /dev/null
+++ b/mlir/include/mlir/Tools/mlir-translate/MlirTranslateMain.h
@@ -0,0 +1,28 @@
+//===- MlirTranslateMain.h - MLIR Translation Driver main -------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// Main entry function for mlir-translate for when built as standalone binary.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_TOOLS_MLIRTRANSLATE_MLIRTRANSLATEMAIN_H
+#define MLIR_TOOLS_MLIRTRANSLATE_MLIRTRANSLATEMAIN_H
+
+#include "mlir/Support/LogicalResult.h"
+#include "llvm/ADT/StringRef.h"
+
+namespace mlir {
+/// Translate to/from an MLIR module from/to an external representation (e.g.
+/// LLVM IR, SPIRV binary, ...). This is the entry point for the implementation
+/// of tools like `mlir-translate`. The translation to perform is parsed from
+/// the command line. The `toolName` argument is used for the header displayed
+/// by `--help`.
+LogicalResult mlirTranslateMain(int argc, char **argv, StringRef toolName);
+} // namespace mlir
+
+#endif // MLIR_TOOLS_MLIRTRANSLATE_MLIRTRANSLATEMAIN_H
diff --git a/mlir/include/mlir/Translation.h b/mlir/include/mlir/Tools/mlir-translate/Translation.h
similarity index 87%
rename from mlir/include/mlir/Translation.h
rename to mlir/include/mlir/Tools/mlir-translate/Translation.h
index 202681c8c6021..d91e4797f570c 100644
--- a/mlir/include/mlir/Translation.h
+++ b/mlir/include/mlir/Tools/mlir-translate/Translation.h
@@ -9,8 +9,9 @@
// Registry for user-provided translations.
//
//===----------------------------------------------------------------------===//
-#ifndef MLIR_TRANSLATION_H
-#define MLIR_TRANSLATION_H
+
+#ifndef MLIR_TOOLS_MLIRTRANSLATE_TRANSLATION_H
+#define MLIR_TOOLS_MLIRTRANSLATE_TRANSLATION_H
#include "llvm/Support/CommandLine.h"
@@ -96,14 +97,6 @@ struct TranslationParser : public llvm::cl::parser<const TranslateFunction *> {
size_t globalWidth) const override;
};
-/// Translate to/from an MLIR module from/to an external representation (e.g.
-/// LLVM IR, SPIRV binary, ...). This is the entry point for the implementation
-/// of tools like `mlir-translate`. The translation to perform is parsed from
-/// the command line. The `toolName` argument is used for the header displayed
-/// by `--help`.
-LogicalResult mlirTranslateMain(int argc, char **argv,
- llvm::StringRef toolName);
-
} // namespace mlir
-#endif // MLIR_TRANSLATION_H
+#endif // MLIR_TOOLS_MLIRTRANSLATE_TRANSLATION_H
diff --git a/mlir/lib/CMakeLists.txt b/mlir/lib/CMakeLists.txt
index 05bfbb47e28e7..672a013445e88 100644
--- a/mlir/lib/CMakeLists.txt
+++ b/mlir/lib/CMakeLists.txt
@@ -15,7 +15,6 @@ add_subdirectory(TableGen)
add_subdirectory(Target)
add_subdirectory(Tools)
add_subdirectory(Transforms)
-add_subdirectory(Translation)
# Only enable the ExecutionEngine if the native target is configured in.
if(TARGET ${LLVM_NATIVE_ARCH})
diff --git a/mlir/lib/Conversion/GPUToVulkan/CMakeLists.txt b/mlir/lib/Conversion/GPUToVulkan/CMakeLists.txt
index 8ac1039cbe2a8..a5f0f7f31f123 100644
--- a/mlir/lib/Conversion/GPUToVulkan/CMakeLists.txt
+++ b/mlir/lib/Conversion/GPUToVulkan/CMakeLists.txt
@@ -15,5 +15,5 @@ add_mlir_conversion_library(MLIRGPUToVulkanTransforms
MLIRSPIRVSerialization
MLIRSupport
MLIRTransforms
- MLIRTranslation
+ MLIRTranslateLib
)
diff --git a/mlir/lib/Target/Cpp/CMakeLists.txt b/mlir/lib/Target/Cpp/CMakeLists.txt
index 8263ef4e8eda5..f1c4c4228b7e5 100644
--- a/mlir/lib/Target/Cpp/CMakeLists.txt
+++ b/mlir/lib/Target/Cpp/CMakeLists.txt
@@ -14,5 +14,5 @@ add_mlir_translation_library(MLIRTargetCpp
MLIRMath
MLIRSCF
MLIRSupport
- MLIRTranslation
+ MLIRTranslateLib
)
diff --git a/mlir/lib/Target/Cpp/TranslateRegistration.cpp b/mlir/lib/Target/Cpp/TranslateRegistration.cpp
index 82574091e6466..f5ee87d11bb9d 100644
--- a/mlir/lib/Target/Cpp/TranslateRegistration.cpp
+++ b/mlir/lib/Target/Cpp/TranslateRegistration.cpp
@@ -15,7 +15,7 @@
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/Dialect.h"
#include "mlir/Target/Cpp/CppEmitter.h"
-#include "mlir/Translation.h"
+#include "mlir/Tools/mlir-translate/Translation.h"
#include "llvm/Support/CommandLine.h"
using namespace mlir;
diff --git a/mlir/lib/Target/LLVMIR/CMakeLists.txt b/mlir/lib/Target/LLVMIR/CMakeLists.txt
index 12ee38c3ff8f1..22daebc08f267 100644
--- a/mlir/lib/Target/LLVMIR/CMakeLists.txt
+++ b/mlir/lib/Target/LLVMIR/CMakeLists.txt
@@ -30,7 +30,7 @@ add_mlir_translation_library(MLIRTargetLLVMIRExport
MLIRDLTI
MLIRLLVMIR
MLIRLLVMIRTransforms
- MLIRTranslation
+ MLIRTranslateLib
)
add_mlir_translation_library(MLIRToLLVMIRTranslationRegistration
@@ -62,5 +62,5 @@ add_mlir_translation_library(MLIRTargetLLVMIRImport
LINK_LIBS PUBLIC
MLIRDLTI
MLIRLLVMIR
- MLIRTranslation
+ MLIRTranslateLib
)
diff --git a/mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp b/mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
index c0cf8322d15d2..4db0ae382be81 100644
--- a/mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
+++ b/mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
@@ -20,7 +20,7 @@
#include "mlir/IR/MLIRContext.h"
#include "mlir/Interfaces/DataLayoutInterfaces.h"
#include "mlir/Target/LLVMIR/TypeFromLLVM.h"
-#include "mlir/Translation.h"
+#include "mlir/Tools/mlir-translate/Translation.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/ADT/TypeSwitch.h"
diff --git a/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp b/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
index 8f4bd7f249322..d64cfd0db9ef5 100644
--- a/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
+++ b/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
@@ -14,7 +14,7 @@
#include "mlir/IR/BuiltinOps.h"
#include "mlir/Target/LLVMIR/Dialect/All.h"
#include "mlir/Target/LLVMIR/Export.h"
-#include "mlir/Translation.h"
+#include "mlir/Tools/mlir-translate/Translation.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
diff --git a/mlir/lib/Target/SPIRV/CMakeLists.txt b/mlir/lib/Target/SPIRV/CMakeLists.txt
index cddbc09713379..acfa68c9047bc 100644
--- a/mlir/lib/Target/SPIRV/CMakeLists.txt
+++ b/mlir/lib/Target/SPIRV/CMakeLists.txt
@@ -24,5 +24,5 @@ add_mlir_translation_library(MLIRSPIRVTranslateRegistration
MLIRSPIRVSerialization
MLIRSPIRVDeserialization
MLIRSupport
- MLIRTranslation
+ MLIRTranslateLib
)
diff --git a/mlir/lib/Target/SPIRV/Deserialization/CMakeLists.txt b/mlir/lib/Target/SPIRV/Deserialization/CMakeLists.txt
index 99d40e11baa61..eec147230058d 100644
--- a/mlir/lib/Target/SPIRV/Deserialization/CMakeLists.txt
+++ b/mlir/lib/Target/SPIRV/Deserialization/CMakeLists.txt
@@ -11,7 +11,7 @@ add_mlir_translation_library(MLIRSPIRVDeserialization
MLIRSPIRV
MLIRSPIRVBinaryUtils
MLIRSupport
- MLIRTranslation
+ MLIRTranslateLib
)
diff --git a/mlir/lib/Target/SPIRV/Serialization/CMakeLists.txt b/mlir/lib/Target/SPIRV/Serialization/CMakeLists.txt
index a3eaaa004436a..5dc5cd23a66b9 100644
--- a/mlir/lib/Target/SPIRV/Serialization/CMakeLists.txt
+++ b/mlir/lib/Target/SPIRV/Serialization/CMakeLists.txt
@@ -11,7 +11,7 @@ add_mlir_translation_library(MLIRSPIRVSerialization
MLIRSPIRV
MLIRSPIRVBinaryUtils
MLIRSupport
- MLIRTranslation
+ MLIRTranslateLib
)
diff --git a/mlir/lib/Target/SPIRV/TranslateRegistration.cpp b/mlir/lib/Target/SPIRV/TranslateRegistration.cpp
index 2dad659eaf206..9522c792f4c8d 100644
--- a/mlir/lib/Target/SPIRV/TranslateRegistration.cpp
+++ b/mlir/lib/Target/SPIRV/TranslateRegistration.cpp
@@ -21,7 +21,7 @@
#include "mlir/Support/FileUtilities.h"
#include "mlir/Target/SPIRV/Deserialization.h"
#include "mlir/Target/SPIRV/Serialization.h"
-#include "mlir/Translation.h"
+#include "mlir/Tools/mlir-translate/Translation.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/SMLoc.h"
diff --git a/mlir/lib/Tools/CMakeLists.txt b/mlir/lib/Tools/CMakeLists.txt
index 88c2b25bce288..864e428e88cf4 100644
--- a/mlir/lib/Tools/CMakeLists.txt
+++ b/mlir/lib/Tools/CMakeLists.txt
@@ -1,4 +1,5 @@
add_subdirectory(mlir-lsp-server)
add_subdirectory(mlir-opt)
add_subdirectory(mlir-reduce)
+add_subdirectory(mlir-translate)
add_subdirectory(PDLL)
diff --git a/mlir/lib/Tools/mlir-translate/CMakeLists.txt b/mlir/lib/Tools/mlir-translate/CMakeLists.txt
new file mode 100644
index 0000000000000..55aea58b9bdd7
--- /dev/null
+++ b/mlir/lib/Tools/mlir-translate/CMakeLists.txt
@@ -0,0 +1,11 @@
+add_mlir_library(MLIRTranslateLib
+ MlirTranslateMain.cpp
+ Translation.cpp
+
+ ADDITIONAL_HEADER_DIRS
+ ${MLIR_MAIN_INCLUDE_DIR}/mlir/Tools/mlir-translate
+
+ LINK_LIBS PUBLIC
+ MLIRIR
+ MLIRParser
+ )
diff --git a/mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp b/mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
new file mode 100644
index 0000000000000..bce04e7959fe7
--- /dev/null
+++ b/mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
@@ -0,0 +1,111 @@
+//===- MlirTranslateMain.cpp - MLIR Translation entry point ---------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/Tools/mlir-translate/MlirTranslateMain.h"
+#include "mlir/IR/AsmState.h"
+#include "mlir/IR/BuiltinOps.h"
+#include "mlir/IR/Dialect.h"
+#include "mlir/IR/Verifier.h"
+#include "mlir/Parser/Parser.h"
+#include "mlir/Support/FileUtilities.h"
+#include "mlir/Support/ToolUtilities.h"
+#include "mlir/Tools/mlir-translate/Translation.h"
+#include "llvm/Support/InitLLVM.h"
+#include "llvm/Support/SourceMgr.h"
+#include "llvm/Support/ToolOutputFile.h"
+
+using namespace mlir;
+
+//===----------------------------------------------------------------------===//
+// Translation Parser
+//===----------------------------------------------------------------------===//
+
+LogicalResult mlir::mlirTranslateMain(int argc, char **argv,
+ llvm::StringRef toolName) {
+
+ static llvm::cl::opt<std::string> inputFilename(
+ llvm::cl::Positional, llvm::cl::desc("<input file>"),
+ llvm::cl::init("-"));
+
+ static llvm::cl::opt<std::string> outputFilename(
+ "o", llvm::cl::desc("Output filename"), llvm::cl::value_desc("filename"),
+ llvm::cl::init("-"));
+
+ static llvm::cl::opt<bool> allowUnregisteredDialects(
+ "allow-unregistered-dialect",
+ llvm::cl::desc("Allow operation with no registered dialects"),
+ llvm::cl::init(false));
+
+ static llvm::cl::opt<bool> splitInputFile(
+ "split-input-file",
+ llvm::cl::desc("Split the input file into pieces and "
+ "process each chunk independently"),
+ llvm::cl::init(false));
+
+ static llvm::cl::opt<bool> verifyDiagnostics(
+ "verify-diagnostics",
+ llvm::cl::desc("Check that emitted diagnostics match "
+ "expected-* lines on the corresponding line"),
+ llvm::cl::init(false));
+
+ llvm::InitLLVM y(argc, argv);
+
+ // Add flags for all the registered translations.
+ llvm::cl::opt<const TranslateFunction *, false, TranslationParser>
+ translationRequested("", llvm::cl::desc("Translation to perform"),
+ llvm::cl::Required);
+ registerAsmPrinterCLOptions();
+ registerMLIRContextCLOptions();
+ llvm::cl::ParseCommandLineOptions(argc, argv, toolName);
+
+ std::string errorMessage;
+ auto input = openInputFile(inputFilename, &errorMessage);
+ if (!input) {
+ llvm::errs() << errorMessage << "\n";
+ return failure();
+ }
+
+ auto output = openOutputFile(outputFilename, &errorMessage);
+ if (!output) {
+ llvm::errs() << errorMessage << "\n";
+ return failure();
+ }
+
+ // Processes the memory buffer with a new MLIRContext.
+ auto processBuffer = [&](std::unique_ptr<llvm::MemoryBuffer> ownedBuffer,
+ raw_ostream &os) {
+ MLIRContext context;
+ context.allowUnregisteredDialects(allowUnregisteredDialects);
+ context.printOpOnDiagnostic(!verifyDiagnostics);
+ llvm::SourceMgr sourceMgr;
+ sourceMgr.AddNewSourceBuffer(std::move(ownedBuffer), SMLoc());
+
+ if (!verifyDiagnostics) {
+ SourceMgrDiagnosticHandler sourceMgrHandler(sourceMgr, &context);
+ return (*translationRequested)(sourceMgr, os, &context);
+ }
+
+ // In the diagnostic verification flow, we ignore whether the translation
+ // failed (in most cases, it is expected to fail). Instead, we check if the
+ // diagnostics were produced as expected.
+ SourceMgrDiagnosticVerifierHandler sourceMgrHandler(sourceMgr, &context);
+ (void)(*translationRequested)(sourceMgr, os, &context);
+ return sourceMgrHandler.verify();
+ };
+
+ if (splitInputFile) {
+ if (failed(splitAndProcessBuffer(std::move(input), processBuffer,
+ output->os())))
+ return failure();
+ } else if (failed(processBuffer(std::move(input), output->os()))) {
+ return failure();
+ }
+
+ output->keep();
+ return success();
+}
diff --git a/mlir/lib/Translation/Translation.cpp b/mlir/lib/Tools/mlir-translate/Translation.cpp
similarity index 61%
rename from mlir/lib/Translation/Translation.cpp
rename to mlir/lib/Tools/mlir-translate/Translation.cpp
index 3d0a456f09e3e..50b854776b5c7 100644
--- a/mlir/lib/Translation/Translation.cpp
+++ b/mlir/lib/Tools/mlir-translate/Translation.cpp
@@ -10,17 +10,13 @@
//
//===----------------------------------------------------------------------===//
-#include "mlir/Translation.h"
+#include "mlir/Tools/mlir-translate/Translation.h"
#include "mlir/IR/AsmState.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/Dialect.h"
#include "mlir/IR/Verifier.h"
#include "mlir/Parser/Parser.h"
-#include "mlir/Support/FileUtilities.h"
-#include "mlir/Support/ToolUtilities.h"
-#include "llvm/Support/InitLLVM.h"
#include "llvm/Support/SourceMgr.h"
-#include "llvm/Support/ToolOutputFile.h"
using namespace mlir;
@@ -128,88 +124,3 @@ void TranslationParser::printOptionInfo(const llvm::cl::Option &o,
});
llvm::cl::parser<const TranslateFunction *>::printOptionInfo(o, globalWidth);
}
-
-LogicalResult mlir::mlirTranslateMain(int argc, char **argv,
- llvm::StringRef toolName) {
-
- static llvm::cl::opt<std::string> inputFilename(
- llvm::cl::Positional, llvm::cl::desc("<input file>"),
- llvm::cl::init("-"));
-
- static llvm::cl::opt<std::string> outputFilename(
- "o", llvm::cl::desc("Output filename"), llvm::cl::value_desc("filename"),
- llvm::cl::init("-"));
-
- static llvm::cl::opt<bool> allowUnregisteredDialects(
- "allow-unregistered-dialect",
- llvm::cl::desc("Allow operation with no registered dialects"),
- llvm::cl::init(false));
-
- static llvm::cl::opt<bool> splitInputFile(
- "split-input-file",
- llvm::cl::desc("Split the input file into pieces and "
- "process each chunk independently"),
- llvm::cl::init(false));
-
- static llvm::cl::opt<bool> verifyDiagnostics(
- "verify-diagnostics",
- llvm::cl::desc("Check that emitted diagnostics match "
- "expected-* lines on the corresponding line"),
- llvm::cl::init(false));
-
- llvm::InitLLVM y(argc, argv);
-
- // Add flags for all the registered translations.
- llvm::cl::opt<const TranslateFunction *, false, TranslationParser>
- translationRequested("", llvm::cl::desc("Translation to perform"),
- llvm::cl::Required);
- registerAsmPrinterCLOptions();
- registerMLIRContextCLOptions();
- llvm::cl::ParseCommandLineOptions(argc, argv, toolName);
-
- std::string errorMessage;
- auto input = openInputFile(inputFilename, &errorMessage);
- if (!input) {
- llvm::errs() << errorMessage << "\n";
- return failure();
- }
-
- auto output = openOutputFile(outputFilename, &errorMessage);
- if (!output) {
- llvm::errs() << errorMessage << "\n";
- return failure();
- }
-
- // Processes the memory buffer with a new MLIRContext.
- auto processBuffer = [&](std::unique_ptr<llvm::MemoryBuffer> ownedBuffer,
- raw_ostream &os) {
- MLIRContext context;
- context.allowUnregisteredDialects(allowUnregisteredDialects);
- context.printOpOnDiagnostic(!verifyDiagnostics);
- llvm::SourceMgr sourceMgr;
- sourceMgr.AddNewSourceBuffer(std::move(ownedBuffer), SMLoc());
-
- if (!verifyDiagnostics) {
- SourceMgrDiagnosticHandler sourceMgrHandler(sourceMgr, &context);
- return (*translationRequested)(sourceMgr, os, &context);
- }
-
- // In the diagnostic verification flow, we ignore whether the translation
- // failed (in most cases, it is expected to fail). Instead, we check if the
- // diagnostics were produced as expected.
- SourceMgrDiagnosticVerifierHandler sourceMgrHandler(sourceMgr, &context);
- (void)(*translationRequested)(sourceMgr, os, &context);
- return sourceMgrHandler.verify();
- };
-
- if (splitInputFile) {
- if (failed(splitAndProcessBuffer(std::move(input), processBuffer,
- output->os())))
- return failure();
- } else if (failed(processBuffer(std::move(input), output->os()))) {
- return failure();
- }
-
- output->keep();
- return success();
-}
diff --git a/mlir/lib/Translation/CMakeLists.txt b/mlir/lib/Translation/CMakeLists.txt
deleted file mode 100644
index 579de292fdb22..0000000000000
--- a/mlir/lib/Translation/CMakeLists.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-add_mlir_library(MLIRTranslation
- Translation.cpp
-
- ADDITIONAL_HEADER_DIRS
- ${MLIR_MAIN_INCLUDE_DIR}/mlir/Translation
-
- LINK_LIBS PUBLIC
- MLIRIR
- MLIRParser
- )
diff --git a/mlir/tools/mlir-spirv-cpu-runner/CMakeLists.txt b/mlir/tools/mlir-spirv-cpu-runner/CMakeLists.txt
index 74bf6db556d92..7029de6edc4b4 100644
--- a/mlir/tools/mlir-spirv-cpu-runner/CMakeLists.txt
+++ b/mlir/tools/mlir-spirv-cpu-runner/CMakeLists.txt
@@ -29,7 +29,7 @@ if (MLIR_ENABLE_SPIRV_CPU_RUNNER)
MLIRSPIRV
MLIRTargetLLVMIRExport
MLIRTransforms
- MLIRTranslation
+ MLIRTranslateLib
MLIRSupport
)
endif()
diff --git a/mlir/tools/mlir-translate/CMakeLists.txt b/mlir/tools/mlir-translate/CMakeLists.txt
index 99b98f9288b92..b1145f265c499 100644
--- a/mlir/tools/mlir-translate/CMakeLists.txt
+++ b/mlir/tools/mlir-translate/CMakeLists.txt
@@ -18,7 +18,7 @@ target_link_libraries(mlir-translate
MLIRParser
MLIRPass
MLIRSPIRV
- MLIRTranslation
+ MLIRTranslateLib
MLIRSupport
)
diff --git a/mlir/tools/mlir-translate/mlir-translate.cpp b/mlir/tools/mlir-translate/mlir-translate.cpp
index 06ca10f51b9b7..f39bf5894a417 100644
--- a/mlir/tools/mlir-translate/mlir-translate.cpp
+++ b/mlir/tools/mlir-translate/mlir-translate.cpp
@@ -13,7 +13,7 @@
#include "mlir/InitAllTranslations.h"
#include "mlir/Support/LogicalResult.h"
-#include "mlir/Translation.h"
+#include "mlir/Tools/mlir-translate/MlirTranslateMain.h"
using namespace mlir;
diff --git a/mlir/tools/mlir-vulkan-runner/CMakeLists.txt b/mlir/tools/mlir-vulkan-runner/CMakeLists.txt
index 5e0ae1402280a..7d331e76ba788 100644
--- a/mlir/tools/mlir-vulkan-runner/CMakeLists.txt
+++ b/mlir/tools/mlir-vulkan-runner/CMakeLists.txt
@@ -73,7 +73,7 @@ if (MLIR_ENABLE_VULKAN_RUNNER)
MLIRSupport
MLIRTargetLLVMIRExport
MLIRTransforms
- MLIRTranslation
+ MLIRTranslateLib
${Vulkan_LIBRARY}
)
More information about the Mlir-commits
mailing list