XXX-TBLGEN(1)
β¨ XXX-TBLGEN(1) β¨
okay so bestie, welcome to the manual page for xxx-tblgen, part of the LLVM family π β it's the Target Description to C++ Code situation, and it's lowkey a whole vibe.
πΈ NAME πΈ
xxx-tblgen β Target Description to C++ Code
π SYNOPSIS π
xxx-tblgen [options] [filename]
π¦ DESCRIPTION π¦
so. xxx-tblgen is literally a family of programs π that translates target description (.td) files into C++ code and other output formats. fr fr.
ngl, most users of LLVM will not need to use this program. it's used only for writing parts of the compiler or LLVM target backends. iykyk π
The details of the input and output of xxx-tblgen is beyond the scope of this short introduction; please see the TableGen Overview for an introduction and for references to additional TableGen documents. (yes bestie, there's lore, go read it π«Ά)
The filename argument specifies the name of the Target Description (.td) file that TableGen processes. that's the main character right there β¨
π OPTIONS π
π General Options
-helpβ Print a description of the command line options. ur little cheat sheet, slay.-help-listβ Print a description of the command line options in a simple list format. same tea, simpler cup π-D=macronameβ Specify the name of a macro to be defined. The name is defined, but it has no particular value. like a name tag with no job title π-d=filenameβ Specify the name of the dependency filename.-debugβ Enable debug output. turn on the chaos cam π₯-dump-jsonβ Print a JSON representation of all records, suitable for further automated processing. robot food, delicious π€-I directoryβ Specify where to find other target description files for inclusion. Thedirectoryvalue 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. all vibes, no output β¨-o filenameβ Specify the output file name. Iffilenameis-, thenxxx-tblgensends its output to standard output.-print-recordsβ Print all classes and records to standard output (default backend option). the default, periodt.-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. stopwatch era β±οΈ-versionβ Show the version number of the program.-write-if-changedβ Write the output file only if it is new or has changed. no unnecessary rewrites, we love efficiency π
β llvm-tblgen Options
-gen-asm-matcherβ Generate assembly instruction matcher.-match-prefix=prefixβ Make-gen-asm-matchermatch only instructions with the given prefix.-gen-asm-parserβ Generate assembly instruction parser.-asmparsernum=nβ Make-gen-asm-parseremit assembly parser numbern.-gen-asm-writerβ Generate assembly writer.-asmwriternum=nβ Make-gen-asm-writeremit assembly writer numbern.-gen-attrsβ Geneerate attributes.-gen-automataβ Generate generic automata.-gen-callingconvβ Generate calling convention descriptions.-gen-compress-inst-emitterβ Generate RISCV compressed instructions.-gen-ctagsβ Generate ctags-compatible index.-gen-dag-iselβ Generate a DAG (directed acyclic graph) instruction selector.-instrument-coverageβ Make-gen-dag-iselgenerate tables to help identify the patterns matched.-omit-commentsβ Make-gen-dag-iselomit comments. The default isfalse.-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-iselgenerate coverage instrumentation.-optimize-match-tableβ Make-gen-global-iselgenerate an optimized version of the match table.-warn-on-skipped-patternsβ Make-gen-global-iselexplain why a pattern was skipped for inclusion. bestie just tell me why π-gen-global-isel-combinerβ Generate GlobalISel combiner.-combiners=listβ Make-gen-global-isel-combineremit the specified combiners.-gicombiner-show-expansionsβ Make-gen-global-isel-combineruse C++ comments to indicate occurences of code expansion.-gicombiner-stop-after-buildβ Make-gen-global-isel-combinerstop processing after building the match tree.-gicombiner-stop-after-parseβ Make-gen-global-isel-combinerstop 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-enumsgenerate 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-infodump 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. π sorry to those compilers i guess-print-enumsβ Print enumeration values for a class.-class=classnameβ Make-print-enumsprint the enumeration list for the specified class.-print-setsβ Print expanded sets for testing DAG exprs.
π§ 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β Generate the Clang parsed attribute helpers.-gen-clang-attr-parsed-attr-kindsβ Generate a Clang parsed attribute kinds.-gen-clang-attr-text-node-dumpβ Generate Clang attribute text node dumper.-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 documentation comments.-gen-clang-comment-command-listβ Generate list of commands that are used in documentation comments.-gen-clang-opencl-builtinsβ Generate OpenCL builtin declaration handlers.-gen-arm-neonβ Generatearm_neon.hfor Clang.-gen-arm-fp16β Generatearm_fp16.hfor Clang.-gen-arm-bf16β Generatearm_bf16.hfor 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β Generatearm_sve.hfor Clang.-gen-arm-sve-builtinsβ Generatearm_sve_builtins.incfor Clang.-gen-arm-sve-builtin-codegenβ Generatearm_sve_builtin_cg_map.incfor Clang.-gen-arm-sve-typeflagsβ Generatearm_sve_typeflags.incfor Clang.-gen-arm-sve-sema-rangechecksβ Generatearm_sve_sema_rangechecks.incfor Clang.-gen-arm-mve-headerβ spits outarm_mve.hfor Clang β¨-gen-arm-mve-builtin-defβ makes the ARM MVE builtin definitions for Clang π-gen-arm-mve-builtin-semaβ generates the ARM MVE builtin sema checks for Clang π-gen-arm-mve-builtin-codegenβ generates the ARM MVE builtin code-generator for Clang π¦-gen-arm-mve-builtin-aliasesβ generates the list of valid ARM MVE builtin aliases for Clang πΈ-gen-arm-cde-headerβ generatesarm_cde.hfor Clang π-gen-arm-cde-builtin-defβ ARM CDE builtin definitions for Clang, bestie π«Ά-gen-arm-cde-builtin-semaβ ARM CDE builtin sema checks for Clang π-gen-arm-cde-builtin-codegenβ ARM CDE builtin code-generator for Clang π₯-gen-arm-cde-builtin-aliasesβ the list of valid ARM CDE builtin aliases for Clang π-gen-attr-docsβ generates attribute documentation π-gen-diag-docsβ generates diagnostic documentation β-gen-opt-docsβ generates option documentation π-gen-clang-data-collectorsβ generates data collectors for AST nodes π-gen-clang-test-pragma-attribute-supported-attributesβ generates a list of attributes supported by#pragma Clang attribute, literally just for testing purposes π
π mlir-tblgen Options π
-gen-avail-interface-declsβ generates availability interface declarations π§-gen-avail-interface-defsβ generates op interface definitions π-gen-dialect-docβ generates dialect documentation β¨-dialectβ the dialect to generate π-gen-directive-declβ generates declarations for directives (OpenMP, etc.) π-gen-enum-declsβ generates enum utility declarations π¦-gen-enum-defsβ generates enum utility definitions πΈ-gen-enum-from-llvmir-conversionsβ generates conversions ofEnumAttrsfrom LLVM IR π-gen-enum-to-llvmir-conversionsβ generates conversions ofEnumAttrsto LLVM IR π«Ά-gen-llvmir-conversionsβ generates LLVM IR conversions π-gen-llvmir-intrinsicsβ generates LLVM IR intrinsics π₯-llvmir-intrinsics-filterβ only keeps the intrinsics whose record name contains the substring you specify π-dialect-opclass-baseβ the base class for the ops in the dialect we're about to emit π-gen-op-declsβ generates operation declarations β-gen-op-defsβ generates operation definitions π-asmformat-error-is-fatalβ emits a fatal error if format parsing fails. so dramatic. so valid. π-op-exclude-regexβ regular expression of the name of ops to exclude (no filter if empty) π-op-include-regexβ regular expression of the name of ops to include (no filter if empty) π§-gen-op-docβ generates operation documentation π-gen-pass-declsβ the manpage says "Generate operation documentation" here and honestly bestie, we're just the messengers, we do not make the rules π it is what it says β¨-namenamestring β the name of this group of passes π-gen-pass-docβ generates pass documentation π-gen-rewritersβ generates pattern rewriters π¦-gen-spirv-avail-implsβ generates SPIR-V operation utility definitions πΈ-gen-spirv-capability-implicationβ generates a utility function that returns the implied capabilities for a given capability π-gen-spirv-enum-avail-declsβ generates SPIR-V enum availability declarations π«Ά-gen-spirv-enum-avail-defsβ generates SPIR-V enum availability definitions π-gen-spirv-op-utilsβ generates SPIR-V operation utility definitions π₯-gen-spirv-serializationβ generates SPIR-V (de)serialization utilities and functions π-gen-struct-attr-declsβ generates struct utility declarations π-gen-struct-attr-defsβ generates struct utility definitions β-gen-typedef-declsβ generatesTypeDefdeclarations π-gen-typedef-defsβ generatesTypeDefdefinitions π-typedefs-dialectname β generates types for this dialect π
πͺ EXIT STATUS πͺ
If xxx-tblgen succeeds, it exits with 0. If an error happens instead, it exits with a non-zero value. that's it, that's the vibe check π
π AUTHOR π
Maintained by the LLVM Team (https://llvm.org/).
Β©οΈ COPYRIGHT Β©οΈ
2003-2024, LLVM Project
and that's the whole page, bestie!! π«Ά this was XXX-TBLGEN(1), dated 2024-07-18, brought to you by the LLVM Project (copyright 2003-2024) β go forth and generate, you absolute icon ππβ¨
π¦ where this page comes from
- fedora 43: llvm12 12.0.1-12.fc41 Β· NCSA
- fedora 43: llvm12 12.0.1-12.fc41 Β· NCSA
- fedora 44: llvm12 12.0.1-12.fc41 Β· NCSA
- fedora 44: llvm12 12.0.1-12.fc41 Β· NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms