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