mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-06 23:32:27 +00:00
a0b8515f30
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28569 91177308-0d34-0410-b5e6-96231b3b80d8
105 lines
3.0 KiB
Plaintext
105 lines
3.0 KiB
Plaintext
=pod
|
|
|
|
=head1 NAME
|
|
|
|
llvm2xpp - LLVM assembler to LLVM C++ IR translator
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
B<llvm2cpp> [I<options>] [I<filename>]
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
B<llvm2cpp> translates from human readable LLVM assembly (.ll 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 again. 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<llvm-as> 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<.ll>, 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<.ll> 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<-o> F<filename>
|
|
|
|
Specify the output file name. If F<filename> is C<->, then B<llvm2cpp>
|
|
sends its output to standard output.
|
|
|
|
=item B<-modname> F<moduleName>
|
|
|
|
Specify the name of the module to be generated. Normally the generated program
|
|
creates a module that has the same name as the input file. If the input file was
|
|
read from the standard input then the module name will be '<stdin>'. This option
|
|
overrides both these default actions and specifies that the module name used
|
|
must be F<moduleName>.
|
|
|
|
=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<-fragment>
|
|
|
|
This boolean option tells B<llvm2cpp> to generate only a program fragment. By
|
|
deault B<llvm2cpp> generates a full program. With this option specified, only a
|
|
single function that generates the input module will be generated.
|
|
|
|
=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>
|
|
|
|
=head1 AUTHORS
|
|
|
|
Maintained by the LLVM Team (L<http://llvm.org>).
|
|
|
|
=cut
|