1 //===- mlir-translate.cpp - MLIR Translate Driver -------------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // This is a command line utility that translates a file from/to MLIR using one 10 // of the registered translations. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #include "mlir/InitAllTranslations.h" 15 #include "mlir/Support/LLVM.h" 16 #include "mlir/Tools/mlir-translate/MlirTranslateMain.h" 17 18 using namespace mlir; 19 20 namespace mlir { 21 // Defined in the test directory, no public header. 22 void registerTestRoundtripSPIRV(); 23 void registerTestRoundtripDebugSPIRV(); 24 #ifdef MLIR_INCLUDE_TESTS 25 void registerTestToLLVMIR(); 26 void registerTestFromLLVMIR(); 27 #endif 28 } // namespace mlir 29 registerTestTranslations()30static void registerTestTranslations() { 31 registerTestRoundtripSPIRV(); 32 registerTestRoundtripDebugSPIRV(); 33 #ifdef MLIR_INCLUDE_TESTS 34 registerTestToLLVMIR(); 35 registerTestFromLLVMIR(); 36 #endif 37 } 38 main(int argc,char ** argv)39int main(int argc, char **argv) { 40 registerAllTranslations(); 41 registerTestTranslations(); 42 return failed(mlirTranslateMain(argc, argv, "MLIR Translation Testing Tool")); 43 } 44