tblgen - Description to C++ Code
clang-tblgen [options] [filename]
lldb-tblgen [options] [filename]
llvm-tblgen [options] [filename]
mlir-tblgen [options] [filename]
*-tblgen is a family of programs that translates target
description (.td) files into C++ code and other output formats. Most
users of LLVM will not need to use this program. It is used only for writing
parts of the compiler, debugger, and LLVM target backends.
The details of the input and output of the *-tblgen
programs is beyond the scope of this short introduction; please see the
TableGen Overview for an introduction and for references to
additional TableGen documents.
The filename argument specifies the name of the Target
Description (.td) file that TableGen processes.
- -help
- Print a description of the command line options.
- -help-list
- Print a description of the command line options in a simple list
format.
- -D=macroname
- Specify the name of a macro to be defined. The name is defined, but it has
no particular value.
- -d=filename
- Specify the name of the dependency filename.
- -dump-json
- Print a JSON representation of all records, suitable for further automated
processing.
- -I directory
- Specify where to find other target description files for inclusion. The
directory value should be a full or partial path to a directory
that contains target description files.
- -null-backend
- Parse the source files and build the records, but do not run any backend.
This is useful for timing the frontend.
- -o filename
- Specify the output file name. If filename is -, then
*-tblgen sends its output to standard output.
- -print-records
- Print all classes and records to standard output (default backend
option).
- -stats
- Print a report with any statistics collected by the backend.
- -time-phases
- Time the parser and backend phases and print a report.
- -version
- Show the version number of the program.
- -gen-dag-isel
- Generate a DAG (directed acyclic graph) instruction selector.
- -omit-comments
- Make -gen-dag-isel omit comments. The default is false.
- -combiners=list
- Make -gen-global-isel-combiner emit the specified combiners.
- -long-string-literals
- When emitting large string tables, prefer string literals over
comma-separated char literals. This can be a readability and compile-time
performance win, but upsets some compilers.
- -class=classname
- Make -print-enums print the enumeration list for the specified class.
- -dialect-opclass-base
- The base class for the ops in the dialect we are to emit.
If *-tblgen succeeds, it will exit with 0. Otherwise, if an
error occurs, it will exit with a non-zero value.
Maintained by the LLVM Team (https://llvm.org/).