reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
  105
  106
  107
  108
  109
  110
  111
  112
  113
  114
  115
  116
  117
  118
  119
  120
  121
  122
  123
  124
  125
  126
  127
  128
  129
  130
  131
  132
  133
  134
  135
  136
  137
  138
  139
  140
  141
  142
  143
  144
  145
  146
  147
tblgen - Target Description To C++ Code Generator
=================================================

.. program:: tblgen

SYNOPSIS
--------

:program:`tblgen` [*options*] [*filename*]

DESCRIPTION
-----------

:program:`tblgen` translates from target description (``.td``) files into C++
code that can be included in the definition of an LLVM target library.  Most
users of LLVM will not need to use this program.  It is only for assisting with
writing an LLVM target backend.

The input and output of :program:`tblgen` is beyond the scope of this short
introduction; please see the :doc:`introduction to TableGen
<../TableGen/index>`.

The *filename* argument specifies the name of a Target Description (``.td``)
file to read as input.

OPTIONS
-------

.. program:: tblgen

.. option:: -help

 Print a summary of command line options.

.. option:: -o filename

 Specify the output file name.  If ``filename`` is ``-``, then
 :program:`tblgen` sends its output to standard output.

.. option:: -I directory

 Specify where to find other target description files for inclusion.  The
 ``directory`` value should be a full or partial path to a directory that
 contains target description files.

.. option:: -asmparsernum N

 Make -gen-asm-parser emit assembly writer number ``N``.

.. option:: -asmwriternum N

 Make -gen-asm-writer emit assembly writer number ``N``.

.. option:: -class className

 Print the enumeration list for this class.

.. option:: -print-records

 Print all records to standard output (default).

.. option:: -dump-json

 Print a JSON representation of all records, suitable for further
 automated processing.

.. option:: -print-enums

 Print enumeration values for a class.

.. option:: -print-sets

 Print expanded sets for testing DAG exprs.

.. option:: -gen-emitter

 Generate machine code emitter.

.. option:: -gen-register-info

 Generate registers and register classes info.

.. option:: -gen-instr-info

 Generate instruction descriptions.

.. option:: -gen-asm-writer

 Generate the assembly writer.

.. option:: -gen-disassembler

 Generate disassembler.

.. option:: -gen-pseudo-lowering

 Generate pseudo instruction lowering.

.. option:: -gen-dag-isel

 Generate a DAG (Directed Acycle Graph) instruction selector.

.. option:: -gen-asm-matcher

 Generate assembly instruction matcher.

.. option:: -gen-dfa-packetizer

 Generate DFA Packetizer for VLIW targets.

.. option:: -gen-fast-isel

 Generate a "fast" instruction selector.

.. option:: -gen-subtarget

 Generate subtarget enumerations.

.. option:: -gen-intrinsic-enums

 Generate intrinsic enums.

.. option:: -gen-intrinsic-impl

 Generate intrinsic implementation.

.. option:: -gen-tgt-intrinsic

 Generate target intrinsic information.

.. option:: -gen-enhanced-disassembly-info

 Generate enhanced disassembly info.

.. option:: -gen-exegesis

 Generate llvm-exegesis tables.

.. option:: -version

 Show the version number of this program.

EXIT STATUS
-----------

If :program:`tblgen` succeeds, it will exit with 0.  Otherwise, if an error
occurs, it will exit with a non-zero value.