=pod

=head1 NAME

llvm2xpp - LLVM bytecode to LLVM C++ IR translator

=head1 SYNOPSIS

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

=head1 DESCRIPTION

B<llvm2cpp> translates from LLVM bytecode (.bc files) to a 
corresponding C++ source file that will make calls against the LLVM C++ API to
build the same module as the input. By default, the C++ output is a complete
program that builds the module, verifies it and then emits the module as
LLVM assembly. This technique assists with testing because the input to
B<llvm2cpp> and the output of the generated C++ program should be identical.

If F<filename> is omitted or is C<->, then B<llvm2cpp> reads its input from
standard input.

If an output file is not specified with the B<-o> option, then
B<llvm2cpp> sends its output to a file or standard output by following
these rules:

=over 

=item *

If the input is standard input, then the output is standard output.

=item *

If the input is a file that ends with C<.bc>, then the output file is of
the same name, except that the suffix is changed to C<.cpp>.

=item *

If the input is a file that does not end with the C<.bc> suffix, then the
output file has the same name as the input file, except that the C<.cpp>
suffix is appended.

=back

=head1 OPTIONS

=over

=item B<-f>

Force overwrite.  Normally, B<llvm2cpp> will refuse to overwrite an
output file that already exists.  With this option, B<llvm2cpp>
will overwrite the output file and replace it with new C++ source code.

=item B<--help>

Print a summary of command line options.

=item B<-f> 

Normally, B<llvm2cpp> will not overwrite an existing output file. With this
option, that default behavior is changed and the program will overwrite existing
output files.

=item B<-o> F<filename>

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

=item B<-funcname> F<functionName>

Specify the name of the function to be generated. The generated code contains a
single function that produces the input module. By default its name is
I<makeLLVMModule>. The B<-funcname> option overrides this default and allows
you to control the name of the generated function. This is handy in conjunction
with the B<-fragment> option when you only want B<llvm2cpp> to generate a
single function that produces the module. With both options, such generated code
could be I<#included> into another program.

=item B<-for>

Specify the name of the thing for which C++ code should be generated. By default
the entire input module is re-generated. However, use of the various B<-gen-*>
options can restrict what is produced. This option indicates what that
restriction is.

=item B<-gen-program>

Specify that the output should be a complete program. Such program will recreate
B<llvm2cpp>'s input as an LLVM module, verify that module, and then write out
the module in LLVM assembly format. This is useful for doing identity tests
where the output of the generated program is identical to the input to
B<llvm2cpp>. The LLVM DejaGnu test suite can make use of this fact. This is the
default form of generated output.

If the B<-for> option is given with this option, it specifies the module
identifier to use for the module created.

=item B<-gen-module>

Specify that the output should be a function that regenerates the module. It is
assumed that this output will be #included into another program that has already
arranged for the correct header files to be #included. The function generated
takes no arguments and returns a I<Module*>. 

If the B<-for> option is given with this option, it specifies the module
identifier to use in creating the module returned by the generated function.

=item B<-gen-contents>

Specify that the output should be a function that adds the contents of the input
module to another module. It is assumed that the output will be #included into
another program that has already arranged for the correct header files to be
#included. The function generated takes a single argument of type I<Module*> and
returns that argument. Note that Module level attributes such as endianess,
pointer size, target triple and inline asm are not passed on from the input
module to the destination module. Only the sub-elements of the module (types,
constants, functions, global variables) will be added to the input module.

If the B<-for> option is given with this option, it specifies the module
identifier to set in the input module by the generated function.

=item B<-gen-function>

Specify that the output should be a function that produces the definitions
necessary for a specific function to be added to a module.  It is assumed that 
the output will be #included into another program that has already arranged 
for the correct header files to be #included. The function generated takes a 
single argument of type I<Module*> and returns the I<Function*> that it added to
the module.  Note that only those things (types, constants, etc.) directly 
needed in the definition of the function will be placed in the generated
function. 

The B<-for> option must be given with this option or an error will be produced.
The value of the option must be the name of a function in the input module for
which code should be generated. If the named function does not exist an error
will be produced.

=item B<-gen-inline>

This option is very analagous to B<-gen-function> except that the generated
function will not re-produce the target function's definition. Instead, the body
of the target function is inserted into some other function passed as an
argument to the generated function. Similarly any arguments to the function must
be passed to the generated function. The result of the generated function is the
first basic block of the target function.

The B<-for> option works the same way as it does for B<-gen-function>.

=item B<-gen-variable>

Specify that the output should be a function that produces the definitions
necessary for a specific global variable to be added to a module. It is assumed
that the output will be #included into another program that has already arranged
for the correct header files to be #included. The function generated takes a
single argument of type I<Module*> and returns the I<GlobalVariable*> that it 
added to the module. Note that only those things (types, constants, etc.)
directly needed in the definition of the global variable will be placed in the
generated function.

The B<-for> option must be given with this option or an error will be produced.
THe value of the option must be the name of a global variable in the input
module for which code should be generated. If the named global variable does not
exist an error will be produced.

=item B<-gen-type>

Specify that the output should be a function that produces the definitions
necessary for specific type to be added to a module. It is assumed that the
otuput will be #included into another program that has already arranged for the
correct header files to be #included. The function generated take a single
argument of type I<Module*> and returns the I<Type*> that it added to the
module. Note that the generated function will only add the necessary type
definitions to (possibly recursively) define the requested type.

The B<-for> option must be given with this option or an error will be produced.
The value of the option must be the name of a global type in the input module
for which code should be generated. If the named type does not exist an error
will be produced.

=item B<-stats>

Show pass statistics (not interesting in this program).

=item B<-time-passes>

Show pass timing statistics (not interesting in this program).

=item B<-version>

Show the version number of this program.

=back

=head1 EXIT STATUS

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

=head1 SEE ALSO

L<llvm-as|llvm-as> L<tblgen|tblgen>

=head1 AUTHORS

Written by Reid Spencer (L<http://hlvm.org>).

=cut
