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