1 tblgen - Target Description To C++ Code Generator 2 ================================================= 3 4 SYNOPSIS 5 -------- 6 7 :program:`tblgen` [*options*] [*filename*] 8 9 DESCRIPTION 10 ----------- 11 12 :program:`tblgen` translates from target description (``.td``) files into C++ 13 code that can be included in the definition of an LLVM target library. Most 14 users of LLVM will not need to use this program. It is only for assisting with 15 writing an LLVM target backend. 16 17 The input and output of :program:`tblgen` is beyond the scope of this short 18 introduction. Please see :doc:`../TableGenFundamentals`. 19 20 The *filename* argument specifies the name of a Target Description (``.td``) 21 file to read as input. 22 23 OPTIONS 24 ------- 25 26 .. option:: -help 27 28 Print a summary of command line options. 29 30 .. option:: -o filename 31 32 Specify the output file name. If ``filename`` is ``-``, then 33 :program:`tblgen` sends its output to standard output. 34 35 .. option:: -I directory 36 37 Specify where to find other target description files for inclusion. The 38 ``directory`` value should be a full or partial path to a directory that 39 contains target description files. 40 41 .. option:: -asmparsernum N 42 43 Make -gen-asm-parser emit assembly writer number ``N``. 44 45 .. option:: -asmwriternum N 46 47 Make -gen-asm-writer emit assembly writer number ``N``. 48 49 .. option:: -class className 50 51 Print the enumeration list for this class. 52 53 .. option:: -print-records 54 55 Print all records to standard output (default). 56 57 .. option:: -print-enums 58 59 Print enumeration values for a class 60 61 .. option:: -print-sets 62 63 Print expanded sets for testing DAG exprs. 64 65 .. option:: -gen-emitter 66 67 Generate machine code emitter. 68 69 .. option:: -gen-register-info 70 71 Generate registers and register classes info. 72 73 .. option:: -gen-instr-info 74 75 Generate instruction descriptions. 76 77 .. option:: -gen-asm-writer 78 79 Generate the assembly writer. 80 81 .. option:: -gen-disassembler 82 83 Generate disassembler. 84 85 .. option:: -gen-pseudo-lowering 86 87 Generate pseudo instruction lowering. 88 89 .. option:: -gen-dag-isel 90 91 Generate a DAG (Directed Acycle Graph) instruction selector. 92 93 .. option:: -gen-asm-matcher 94 95 Generate assembly instruction matcher. 96 97 .. option:: -gen-dfa-packetizer 98 99 Generate DFA Packetizer for VLIW targets. 100 101 .. option:: -gen-fast-isel 102 103 Generate a "fast" instruction selector. 104 105 .. option:: -gen-subtarget 106 107 Generate subtarget enumerations. 108 109 .. option:: -gen-intrinsic 110 111 Generate intrinsic information. 112 113 .. option:: -gen-tgt-intrinsic 114 115 Generate target intrinsic information. 116 117 .. option:: -gen-enhanced-disassembly-info 118 119 Generate enhanced disassembly info. 120 121 .. option:: -version 122 123 Show the version number of this program. 124 125 EXIT STATUS 126 ----------- 127 128 If :program:`tblgen` succeeds, it will exit with 0. Otherwise, if an error 129 occurs, it will exit with a non-zero value. 130