VMCore was renamed to IR long time ago
[oota-llvm.git] / docs / CommandGuide / tblgen.rst
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 the :doc:`introduction to TableGen
19 <../TableGen/index>`.
20
21 The *filename* argument specifies the name of a Target Description (``.td``)
22 file to read as input.
23
24 OPTIONS
25 -------
26
27 .. program:: tblgen
28
29 .. option:: -help
30
31  Print a summary of command line options.
32
33 .. option:: -o filename
34
35  Specify the output file name.  If ``filename`` is ``-``, then
36  :program:`tblgen` sends its output to standard output.
37
38 .. option:: -I directory
39
40  Specify where to find other target description files for inclusion.  The
41  ``directory`` value should be a full or partial path to a directory that
42  contains target description files.
43
44 .. option:: -asmparsernum N
45
46  Make -gen-asm-parser emit assembly writer number ``N``.
47
48 .. option:: -asmwriternum N
49
50  Make -gen-asm-writer emit assembly writer number ``N``.
51
52 .. option:: -class className
53
54  Print the enumeration list for this class.
55
56 .. option:: -print-records
57
58  Print all records to standard output (default).
59
60 .. option:: -print-enums
61
62  Print enumeration values for a class.
63
64 .. option:: -print-sets
65
66  Print expanded sets for testing DAG exprs.
67
68 .. option:: -gen-emitter
69
70  Generate machine code emitter.
71
72 .. option:: -gen-register-info
73
74  Generate registers and register classes info.
75
76 .. option:: -gen-instr-info
77
78  Generate instruction descriptions.
79
80 .. option:: -gen-asm-writer
81
82  Generate the assembly writer.
83
84 .. option:: -gen-disassembler
85
86  Generate disassembler.
87
88 .. option:: -gen-pseudo-lowering
89
90  Generate pseudo instruction lowering.
91
92 .. option:: -gen-dag-isel
93
94  Generate a DAG (Directed Acycle Graph) instruction selector.
95
96 .. option:: -gen-asm-matcher
97
98  Generate assembly instruction matcher.
99
100 .. option:: -gen-dfa-packetizer
101
102  Generate DFA Packetizer for VLIW targets.
103
104 .. option:: -gen-fast-isel
105
106  Generate a "fast" instruction selector.
107
108 .. option:: -gen-subtarget
109
110  Generate subtarget enumerations.
111
112 .. option:: -gen-intrinsic
113
114  Generate intrinsic information.
115
116 .. option:: -gen-tgt-intrinsic
117
118  Generate target intrinsic information.
119
120 .. option:: -gen-enhanced-disassembly-info
121
122  Generate enhanced disassembly info.
123
124 .. option:: -version
125
126  Show the version number of this program.
127
128 EXIT STATUS
129 -----------
130
131 If :program:`tblgen` succeeds, it will exit with 0.  Otherwise, if an error
132 occurs, it will exit with a non-zero value.