mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81954 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			144 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
=pod
 | 
						|
 | 
						|
=head1 NAME
 | 
						|
 | 
						|
opt - LLVM optimizer
 | 
						|
 | 
						|
=head1 SYNOPSIS
 | 
						|
 | 
						|
B<opt> [I<options>] [I<filename>]
 | 
						|
 | 
						|
=head1 DESCRIPTION
 | 
						|
 | 
						|
The B<opt> command is the modular LLVM optimizer and analyzer.  It takes LLVM 
 | 
						|
source files as input, runs the specified optimizations or analyses on it, and then
 | 
						|
outputs the optimized file or the analysis results.  The function of 
 | 
						|
B<opt> depends on whether the B<-analyze> option is given. 
 | 
						|
 | 
						|
When B<-analyze> is specified, B<opt> performs various analyses of the input
 | 
						|
source.  It will usually print the results on standard output, but in a few
 | 
						|
cases, it will print output to standard error or generate a file with the
 | 
						|
analysis output, which is usually done when the output is meant for another
 | 
						|
program.
 | 
						|
 | 
						|
While B<-analyze> is I<not> given, B<opt> attempts to produce an optimized 
 | 
						|
output file.  The optimizations available via B<opt> depend upon what 
 | 
						|
libraries were linked into it as well as any additional libraries that have 
 | 
						|
been loaded with the B<-load> option.  Use the B<-help> option to determine 
 | 
						|
what optimizations you can use.
 | 
						|
 | 
						|
If I<filename> is omitted from the command line or is I<->, B<opt> reads its
 | 
						|
input from standard input. Inputs can be in either the LLVM assembly language
 | 
						|
format (.ll) or the LLVM bitcode format (.bc).
 | 
						|
 | 
						|
If an output filename is not specified with the B<-o> option, B<opt>
 | 
						|
writes its output to the standard output.
 | 
						|
 | 
						|
=head1 OPTIONS
 | 
						|
 | 
						|
=over
 | 
						|
 | 
						|
=item B<-f>
 | 
						|
 | 
						|
Enable binary output on terminals.  Normally, B<opt> will refuse to
 | 
						|
write raw bitcode output if the output stream is a terminal. With this option,
 | 
						|
B<opt> will write raw bitcode regardless of the output device.
 | 
						|
 | 
						|
=item B<-help>
 | 
						|
 | 
						|
Print a summary of command line options. 
 | 
						|
 | 
						|
=item B<-o> I<filename>
 | 
						|
 | 
						|
Specify the output filename.
 | 
						|
 | 
						|
=item B<-S>
 | 
						|
 | 
						|
Write output in LLVM intermediate language (instead of bitcode).
 | 
						|
 | 
						|
=item B<-{passname}>
 | 
						|
 | 
						|
B<opt> provides the ability to run any of LLVM's optimization or analysis passes
 | 
						|
in any order. The B<-help> option lists all the passes available. The order in
 | 
						|
which the options occur on the command line are the order in which they are
 | 
						|
executed (within pass constraints). 
 | 
						|
 | 
						|
=item B<-std-compile-opts>
 | 
						|
 | 
						|
This is short hand for a standard list of I<compile time optimization> passes.
 | 
						|
This is typically used to optimize the output from the llvm-gcc front end. It
 | 
						|
might be useful for other front end compilers as well. To discover the full set
 | 
						|
of options available, use the following command:
 | 
						|
 | 
						|
   llvm-as < /dev/null | opt -std-compile-opts -disable-output -debug-pass=Arguments
 | 
						|
 | 
						|
=item B<-disable-inlining>
 | 
						|
 | 
						|
This option is only meaningful when B<-std-compile-opts> is given. It simply
 | 
						|
removes the inlining pass from the standard list.
 | 
						|
 | 
						|
=item B<-disable-opt>
 | 
						|
 | 
						|
This option is only meaningful when B<-std-compile-opts> is given. It disables
 | 
						|
most, but not all, of the B<-std-compile-opts>. The ones that remain are
 | 
						|
B<-verify>, B<-lower-setjmp>, and B<-funcresolve>.
 | 
						|
 | 
						|
=item B<-strip-debug>
 | 
						|
 | 
						|
This option causes opt to strip debug information from the module before 
 | 
						|
applying other optimizations. It is essentially the same as B<-strip> but it
 | 
						|
ensures that stripping of debug information is done first.
 | 
						|
 | 
						|
=item B<-verify-each>
 | 
						|
 | 
						|
This option causes opt to add a verify pass after every pass otherwise specified
 | 
						|
on the command line (including B<-verify>).  This is useful for cases where it 
 | 
						|
is suspected that a pass is creating an invalid module but it is not clear which
 | 
						|
pass is doing it. The combination of B<-std-compile-opts> and B<-verify-each>
 | 
						|
can quickly track down this kind of problem.
 | 
						|
 | 
						|
=item B<-profile-info-file> I<filename>
 | 
						|
 | 
						|
Specify the name of the file loaded by the -profile-loader option.
 | 
						|
 | 
						|
=item B<-stats>
 | 
						|
 | 
						|
Print statistics.
 | 
						|
 | 
						|
=item B<-time-passes>
 | 
						|
 | 
						|
Record the amount of time needed for each pass and print it to standard
 | 
						|
error.
 | 
						|
 | 
						|
=item B<-debug>
 | 
						|
 | 
						|
If this is a debug build, this option will enable debug printouts
 | 
						|
from passes which use the I<DEBUG()> macro.  See the B<LLVM Programmer's
 | 
						|
Manual>, section I<#DEBUG> for more information.
 | 
						|
 | 
						|
=item B<-load>=I<plugin>
 | 
						|
 | 
						|
Load the dynamic object I<plugin>.  This object should register new optimization
 | 
						|
or analysis passes. Once loaded, the object will add new command line options to
 | 
						|
enable various optimizations or analyses.  To see the new complete list of 
 | 
						|
optimizations, use the B<-help> and B<-load> options together. For example:
 | 
						|
 | 
						|
   opt -load=plugin.so -help
 | 
						|
 | 
						|
=item B<-p>
 | 
						|
 | 
						|
Print module after each transformation.
 | 
						|
 | 
						|
=back
 | 
						|
 | 
						|
=head1 EXIT STATUS
 | 
						|
 | 
						|
If B<opt> 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
 |