xref: /llvm-project/mlir/include/mlir/Tools/mlir-translate/MlirTranslateMain.h (revision db791b278a414fb6df1acc1799adcf11d8fb9169)
1ee1d447eSRiver Riddle //===- MlirTranslateMain.h - MLIR Translation Driver main -------*- C++ -*-===//
2ee1d447eSRiver Riddle //
3ee1d447eSRiver Riddle // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4ee1d447eSRiver Riddle // See https://llvm.org/LICENSE.txt for license information.
5ee1d447eSRiver Riddle // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6ee1d447eSRiver Riddle //
7ee1d447eSRiver Riddle //===----------------------------------------------------------------------===//
8ee1d447eSRiver Riddle //
9ee1d447eSRiver Riddle // Main entry function for mlir-translate for when built as standalone binary.
10ee1d447eSRiver Riddle //
11ee1d447eSRiver Riddle //===----------------------------------------------------------------------===//
12ee1d447eSRiver Riddle 
13ee1d447eSRiver Riddle #ifndef MLIR_TOOLS_MLIRTRANSLATE_MLIRTRANSLATEMAIN_H
14ee1d447eSRiver Riddle #define MLIR_TOOLS_MLIRTRANSLATE_MLIRTRANSLATEMAIN_H
15ee1d447eSRiver Riddle 
16*db791b27SRamkumar Ramachandra #include "mlir/Support/LLVM.h"
17ee1d447eSRiver Riddle #include "llvm/ADT/StringRef.h"
18ee1d447eSRiver Riddle 
19ee1d447eSRiver Riddle namespace mlir {
20ee1d447eSRiver Riddle /// Translate to/from an MLIR module from/to an external representation (e.g.
21ee1d447eSRiver Riddle /// LLVM IR, SPIRV binary, ...). This is the entry point for the implementation
22ee1d447eSRiver Riddle /// of tools like `mlir-translate`. The translation to perform is parsed from
23ee1d447eSRiver Riddle /// the command line. The `toolName` argument is used for the header displayed
24ee1d447eSRiver Riddle /// by `--help`.
252ef95efbSChris Lattner LogicalResult mlirTranslateMain(int argc, char **argv, StringRef toolName);
26ee1d447eSRiver Riddle } // namespace mlir
27ee1d447eSRiver Riddle 
28ee1d447eSRiver Riddle #endif // MLIR_TOOLS_MLIRTRANSLATE_MLIRTRANSLATEMAIN_H
29