FreeBSD manual

download PDF document: tblgen15.1.pdf

TBLGEN(1) LLVM TBLGEN(1)
NAME tblgen - Description to C++ Code
SYNOPSIS clang-tblgen [options] [filename]
lldb-tblgen [options] [filename]
llvm-tblgen [options] [filename]
mlir-tblgen [options] [filename]
DESCRIPTION *-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.
OPTIONS General Options
-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.
-debug Enable debug output.
-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.

-print-detailed-records Print a detailed report of all global variables, classes, and records to standard output.
-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.
-write-if-changed Write the output file only if it is new or has changed.
clang-tblgen Options
-gen-clang-attr-classes Generate Clang attribute clases.
-gen-clang-attr-parser-string-switches Generate all parser-related attribute string switches.
-gen-clang-attr-subject-match-rules-parser-string-switches Generate all parser-related attribute subject match rule string switches.
-gen-clang-attr-impl Generate Clang attribute implementations.
-gen-clang-attr-list" Generate a Clang attribute list.
-gen-clang-attr-subject-match-rule-list Generate a Clang attribute subject match rule list.
-gen-clang-attr-pch-read Generate Clang PCH attribute reader.
-gen-clang-attr-pch-write Generate Clang PCH attribute writer.
-gen-clang-attr-has-attribute-impl Generate a Clang attribute spelling list.
-gen-clang-attr-spelling-index Generate a Clang attribute spelling index.
-gen-clang-attr-ast-visitor Generate a recursive AST visitor for Clang attributes.
-gen-clang-attr-template-instantiate Generate a Clang template instantiate code.
-gen-clang-attr-parsed-attr-list Generate a Clang parsed attribute list.
-gen-clang-attr-parsed-attr-impl
-gen-clang-attr-node-traverse Generate Clang attribute traverser.
-gen-clang-diags-defs Generate Clang diagnostics definitions.
-clang-component component Only use warnings from specified component.
-gen-clang-diag-groups Generate Clang diagnostic groups.
-gen-clang-diags-index-name Generate Clang diagnostic name index.
-gen-clang-basic-reader Generate Clang BasicReader classes.
-gen-clang-basic-writer Generate Clang BasicWriter classes.
-gen-clang-comment-nodes Generate Clang AST comment nodes.
-gen-clang-decl-nodes Generate Clang AST declaration nodes.
-gen-clang-stmt-nodes Generate Clang AST statement nodes.
-gen-clang-type-nodes Generate Clang AST type nodes.
-gen-clang-type-reader Generate Clang AbstractTypeReader class.
-gen-clang-type-writer Generate Clang AbstractTypeWriter class.
-gen-clang-opcodes Generate Clang constexpr interpreter opcodes.
-gen-clang-sa-checkers Generate Clang static analyzer checkers.
-gen-clang-comment-html-tags Generate efficient matchers for HTML tag names that are used in documentation comments.
-gen-clang-comment-html-tags-properties Generate efficient matchers for HTML tag properties.
-gen-clang-comment-html-named-character-references Generate function to translate named character references to UTF-8 sequences.
-gen-clang-comment-command-info Generate command properties for commands that are used in Generate OpenCL builtin declaration handlers.
-gen-arm-neon Generate arm_neon.h for Clang.
-gen-arm-fp16 Generate arm_fp16.h for Clang.
-gen-arm-bf16 Generate arm_bf16.h for Clang.
-gen-arm-neon-sema Generate ARM NEON sema support for Clang.
-gen-arm-neon-test Generate ARM NEON tests for Clang.
-gen-arm-sve-header Generate arm_sve.h for Clang.
-gen-arm-sve-builtins Generate arm_sve_builtins.inc for Clang.
-gen-arm-sve-builtin-codegen Generate arm_sve_builtin_cg_map.inc for Clang.
-gen-arm-sve-typeflags Generate arm_sve_typeflags.inc for Clang.
-gen-arm-sve-sema-rangechecks Generate arm_sve_sema_rangechecks.inc for Clang.
-gen-arm-mve-header Generate arm_mve.h for Clang.
-gen-arm-mve-builtin-def Generate ARM MVE builtin definitions for Clang.
-gen-arm-mve-builtin-sema Generate ARM MVE builtin sema checks for Clang.
-gen-arm-mve-builtin-codegen Generate ARM MVE builtin code-generator for Clang.
-gen-arm-mve-builtin-aliases Generate list of valid ARM MVE builtin aliases for Clang.
-gen-arm-cde-header Generate arm_cde.h for Clang.
-gen-arm-cde-builtin-def Generate ARM CDE builtin definitions for Clang.
-gen-arm-cde-builtin-sema Generate ARM CDE builtin sema checks for Clang.
-gen-arm-cde-builtin-codegen Generate ARM CDE builtin code-generator for Clang.
Generate riscv_vector_builtins.inc for Clang.
-gen-riscv-vector-builtin-codegen Generate riscv_vector_builtin_cg.inc for Clang.
-gen-attr-docs Generate attribute documentation.
-gen-diag-docs Generate diagnostic documentation.
-gen-opt-docs Generate option documentation.
-gen-clang-data-collectors Generate data collectors for AST nodes.
-gen-clang-test-pragma-attribute-supported-attributes Generate a list of attributes supported by #pragma Clang attribute for testing purposes.
lldb-tblgen Options
gen-lldb-option-defs Generate lldb OptionDefinition values.
gen-lldb-property-defs Generate lldb PropertyDefinition values.
gen-lldb-property-enum-defs Generate lldb PropertyDefinition enum values.
llvm-tblgen Options
-gen-asm-matcher Generate assembly instruction matcher.
-match-prefix=prefix Make -gen-asm-matcher match only instructions with the given prefix.
-gen-asm-parser Generate assembly instruction parser.
-asmparsernum=n Make -gen-asm-parser emit assembly parser number n.
-gen-asm-writer Generate assembly writer.
-asmwriternum=n Make -gen-asm-writer emit assembly writer number n.
-gen-attrs Generate attributes.
-gen-automata Generate generic automata.
Generate ctags-compatible index.
-gen-dag-isel Generate a DAG (directed acyclic graph) instruction selector.
-instrument-coverage Make -gen-dag-isel generate tables to help identify the patterns matched.
-omit-comments Make -gen-dag-isel omit comments. The default is false.
-gen-dfa-packetizer Generate DFA Packetizer for VLIW targets.
-gen-directive-decl Generate directive related declaration code (header file).
-gen-directive-gen Generate directive related implementation code part.
-gen-directive-impl Generate directive related implementation code.
-gen-disassembler Generate disassembler.
-gen-emitter Generate machine code emitter.
-gen-exegesis Generate llvm-exegesis tables.
-gen-fast-isel Generate a "fast" instruction selector.
-gen-global-isel Generate GlobalISel selector.
-gisel-coverage-file=filename Specify the file from which to retrieve coverage information.
-instrument-gisel-coverage Make -gen-global-isel generate coverage instrumentation.
-optimize-match-table Make -gen-global-isel generate an optimized version of the match table.
-warn-on-skipped-patterns Make -gen-global-isel explain why a pattern was skipped for inclusion.
-gen-global-isel-combiner Generate GlobalISel combiner.
-combiners=list Make -gen-global-isel-combiner emit the specified combiners.

-gicombiner-stop-after-parse Make -gen-global-isel-combiner stop processing after parsing rules and dump state.
-gen-instr-info Generate instruction descriptions.
-gen-instr-docs Generate instruction documentation.
-gen-intrinsic-enums Generate intrinsic enums.
-intrinsic-prefix=prefix Make -gen-intrinsic-enums generate intrinsics with this target prefix.
-gen-intrinsic-impl Generate intrinsic information.
-gen-opt-parser-defs Generate options definitions.
-gen-opt-rst Generate option RST.
-gen-pseudo-lowering Generate pseudo instruction lowering.
-gen-register-bank Generate register bank descriptions.
-gen-register-info Generate registers and register classes info.
-register-info-debug Make -gen-register-info dump register information for debugging.
-gen-searchable-tables Generate generic searchable tables. See TableGen BackEnds for a detailed description.
-gen-subtarget Generate subtarget enumerations.
-gen-x86-EVEX2VEX-tables Generate X86 EVEX to VEX compress tables.
-gen-x86-fold-tables Generate X86 fold tables.
-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.
-print-enums Print enumeration values for a class.
mlir-tblgen Options
-gen-avail-interface-decls Generate availability interface declarations.
-gen-avail-interface-defs Generate op interface definitions.
-gen-dialect-doc Generate dialect documentation.
-dialect The dialect to generate.
-gen-directive-decl Generate declarations for directives (OpenMP, etc.).
-gen-enum-decls Generate enum utility declarations.
-gen-enum-defs Generate enum utility definitions.
-gen-enum-from-llvmir-conversions Generate conversions of EnumAttrs from LLVM IR.
-gen-enum-to-llvmir-conversions Generate conversions of EnumAttrs to LLVM IR.
-gen-llvmir-conversions Generate LLVM IR conversions.
-gen-llvmir-intrinsics Generate LLVM IR intrinsics.
-llvmir-intrinsics-filter Only keep the intrinsics with the specified substring in their record name.
-dialect-opclass-base The base class for the ops in the dialect we are to emit.
-gen-op-decls Generate operation declarations.
-gen-op-defs Generate operation definitions.
-asmformat-error-is-fatal Emit a fatal error if format parsing fails.
-op-exclude-regex Regular expression of name of ops to exclude (no filter if empty).
-op-include-regex Regular expression of name of ops to include (no filter if empty).
-name namestring The name of this group of passes.
-gen-pass-doc Generate pass documentation.
-gen-rewriters Generate pattern rewriters.
-gen-spirv-avail-impls Generate SPIR-V operation utility definitions.
-gen-spirv-capability-implication Generate utility function to return implied capabilities for a given capability.
-gen-spirv-enum-avail-decls Generate SPIR-V enum availability declarations.
-gen-spirv-enum-avail-defs Generate SPIR-V enum availability definitions.
-gen-spirv-op-utils Generate SPIR-V operation utility definitions.
-gen-spirv-serialization Generate SPIR-V (de)serialization utilities and functions.
-gen-struct-attr-decls Generate struct utility declarations.
-gen-struct-attr-defs Generate struct utility definitions.
-gen-typedef-decls Generate TypeDef declarations.
-gen-typedef-defs Generate TypeDef definitions.
-typedefs-dialect name Generate types for this dialect.
EXIT STATUS If *-tblgen succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.
AUTHOR Maintained by the LLVM Team (https://llvm.org/).
COPYRIGHT 2003-2023, LLVM Project
15 2023-12-15 TBLGEN(1)