TBLGEN(1)
β¨ tblgen β¨
okay bestie, this is the LLVM tblgen page and honestly? it's giving "you don't need me unless you're built different" π«Ά so let's get into it.
πΈ NAME πΈ
tblgen β Target Description To C++ Code Generator</p> π
π SYNOPSIS π
tblgen [options] [filename]
π¦ DESCRIPTION π¦
so basically, tblgen is the lil translator that takes target description files (.td, iykyk) and turns them into C++ code that you can then include in the definition of an LLVM target library. that's the whole vibe. β¨
lowkey important heads-up though: most users of LLVM will not need to use this program, fr fr. it exists purely to help you write an LLVM target backend. it's giving niche queen π
the input and output of tblgen? yeah that's beyond the scope of this short intro, sorry bestie π β please see the introduction to TableGen for the full lore.
and the filename argument? that specifies the name of a Target Description (.td) file to read as input. periodt.
π OPTIONS π
-helpβ prints a summary of the command line options. your lil cheat sheet π-o filenameβ specify the output file name. and iffilenameis-, thentblgensends its output to standard output. slay π-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. basically "here's where my other files live" π-asmparsernum Nβ make-gen-asm-parseremit assembly writer numberN.-asmwriternum Nβ make-gen-asm-writeremit assembly writer numberN.-class classNameβ print the enumeration list for this class.-print-recordsβ print all records to standard output (this one is the default, no cap).-dump-jsonβ print a JSON representation of all records, suitable for further automated processing. very "let the machines handle it" π€-print-enumsβ print enumeration values for a class.-print-setsβ print expanded sets for testing DAG exprs.-gen-emitterβ generate machine code emitter.-gen-register-infoβ generate registers and register classes info.-gen-instr-infoβ generate instruction descriptions.-gen-asm-writerβ generate the assembly writer.-gen-disassemblerβ generate disassembler.-gen-pseudo-loweringβ generate pseudo instruction lowering.-gen-dag-iselβ generate a DAG (Directed Acyclic Graph) instruction selector.-gen-asm-matcherβ generate assembly instruction matcher.-gen-dfa-packetizerβ generate DFA Packetizer for VLIW targets.-gen-fast-iselβ generate a "fast" instruction selector.-gen-subtargetβ generate subtarget enumerations.-gen-intrinsic-enumsβ generate intrinsic enums.-gen-intrinsic-implβ generate intrinsic implementation.-gen-tgt-intrinsicβ generate target intrinsic information.-gen-enhanced-disassembly-infoβ generate enhanced disassembly info.-gen-exegesisβ generatellvm-exegesistables.-versionβ show the version number of this program. iconique π
π EXIT STATUS π
if tblgen succeeds, it will exit with 0. π otherwise, if an error occurs, it will exit with a non-zero value. (not the vibe, but that's the rule π)
π AUTHOR π
Maintained by the LLVM Team (https://llvm.org/). they're the main characters, honestly π«Ά
π COPYRIGHT π
2003-2024, LLVM Project
and that's the whole page, bestie!! this was the LLVM tblgen(1) manual, dated 2024-07-18, and honestly? it ate. go write that target backend π
β¨π
π¦ where this page comes from
- fedora 43: llvm11 11.1.0-14.fc41 Β· NCSA
- fedora 43: llvm11 11.1.0-14.fc41 Β· NCSA
- fedora 44: llvm11 11.1.0-14.fc41 Β· NCSA
- fedora 44: llvm11 11.1.0-14.fc41 Β· NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms