
=pod

=head1 NAME

tblgen - Target Description To C++ Code Generator

=head1 SYNOPSIS

B<tblgen> [I<options>] [I<filename>]

=head1 DESCRIPTION

B<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 B<tblgen> is beyond the scope of this short
introduction. Please see the I<CodeGeneration> page in the LLVM documentation.

The F<filename> argument specifies the name of a Target Description (.td) file
to read as input.

=head1 OPTIONS

=over

=item B<-help>

Print a summary of command line options.

=item B<-o> F<filename>

Specify the output file name.  If F<filename> is C<->, then B<tblgen>
sends its output to standard output.

=item B<-I> F<directory>

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

=item B<-asmwriternum> F<N>

Make -gen-asm-writer emit assembly writer number F<N>.

=item B<-class> F<class Name>

Print the enumeration list for this class.

=item B<-print-records>

Print all records to standard output (default).

=item B<-print-enums>

Print enumeration values for a class

=item B<-gen-emitter>

Generate machine code emitter.

=item B<-gen-register-enums>

Generate the enumeration values for all registers.

=item B<-gen-register-desc>

Generate a register info description for each register.

=item B<-gen-register-desc-header>

Generate a register info description header for each register.

=item B<-gen-instr-enums>

Generate enumeration values for instructions.

=item B<-gen-instr-desc>

Generate instruction descriptions.

=item B<-gen-asm-writer>

Generate the assembly writer.

=item B<-gen-dag-isel>

Generate a DAG (Directed Acycle Graph) instruction selector.

=item B<-gen-subtarget>

Generate subtarget enumerations.

=item B<-gen-intrinsic>

Generate intrinsic information.

=item B<-version>

Show the version number of this program.

=back

=head1 EXIT STATUS

If B<tblgen> succeeds, it will exit with 0.  Otherwise, if an error
occurs, it will exit with a non-zero value.

=head1 AUTHORS

Maintained by The LLVM Team (L<http://llvm.org/>).

=cut
