mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	* Add an ENVIRONMENT section to describe LLVM_LIB_SEARCH_PATH git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18317 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			172 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			172 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| =pod
 | |
| 
 | |
| =head1 NAME
 | |
| 
 | |
| llvm-ld - LLVM linker
 | |
| 
 | |
| =head1 SYNOPSIS
 | |
| 
 | |
| B<llvm-ld> <options> <files>
 | |
| 
 | |
| =head1 DESCRIPTION
 | |
| 
 | |
| The B<llvm-ld> command is similar to the common Unix utility, C<ld>. It 
 | |
| links together bytecode modules to produce an executable program.
 | |
| 
 | |
| =head1 OPTIONS
 | |
| 
 | |
| =head2 Input/Output Options
 | |
| 
 | |
| =over
 | |
| 
 | |
| =item B<-o> F<filename>
 | |
| 
 | |
| This overrides the default output file and specifies the name of the file that
 | |
| should be generated by the linker. By default, B<llvm-ld> generates a file named
 | |
| F<a.out> for compatibility with B<ld>. The output will be written to
 | |
| F<filename>.
 | |
| 
 | |
| =item B<-l>F<name>
 | |
| 
 | |
| This option specifies the F<name> of a library to search when resolving symbols
 | |
| for the program. Only the base name should be specified as F<name>, without a
 | |
| F<lib> prefix or any suffix. 
 | |
| 
 | |
| =item B<-L>F<Path>
 | |
| 
 | |
| This option tells B<llvm-ld> to look in F<Path> to find any library subsequently
 | |
| specified with the B<-l> option. The paths will be searched in the order in
 | |
| which they are specified on the command line. If the library is still not found,
 | |
| a small set of system specific directories will also be searched. Note that
 | |
| libraries specified with the B<-l> option that occur I<before> any B<-L> options
 | |
| will not search the paths given by the B<-L> options following it.
 | |
| 
 | |
| =item B<-link-as-library>
 | |
| 
 | |
| Link the bytecode files together as a library, not an executable. In this mode,
 | |
| undefined symbols will be permitted.
 | |
| 
 | |
| =item B<-r>
 | |
| 
 | |
| An alias for -link-as-library.
 | |
| 
 | |
| =item B<-march=>C<target>
 | |
| 
 | |
| Specifies the kind of machine for which code or assembly should be generated.
 | |
| 
 | |
| =item B<-native>
 | |
| 
 | |
| Generate a native binary instead of a shell script that runs the JIT from
 | |
| bytecode.
 | |
| 
 | |
| =item B<-native-cbe>
 | |
| 
 | |
| Generate a native binary with the C back end and compilation with GCC.
 | |
| 
 | |
| =item B<-disable-compression>
 | |
| 
 | |
| Do not compress bytecode files.
 | |
| 
 | |
| =back
 | |
| 
 | |
| =head2 Optimization Options
 | |
| 
 | |
| =over 
 | |
| 
 | |
| =item B<-O0>
 | |
| 
 | |
| An alias for the -O1 option.
 | |
| 
 | |
| =item B<-O1>
 | |
| 
 | |
| Optimize for linking speed, not execution speed. The optimizer will attempt to
 | |
| reduce the size of the linked program to reduce I/O but will not otherwise
 | |
| perform any link-time optimizations.
 | |
| 
 | |
| =item B<-O2>
 | |
| 
 | |
| Perform only the minimal or required set of scalar optimizations.
 | |
| 
 | |
| =item B<-03>
 | |
| 
 | |
| An alias for the -O2 option.
 | |
| 
 | |
| =item B<-04>
 | |
| 
 | |
| Perform the standard link time inter-procedural optimizations. This will 
 | |
| attempt to optimize the program taking the entire program into consideration.
 | |
| 
 | |
| =item B<-O5>
 | |
| 
 | |
| Perform aggressive link time optimizations. This is the same as -O4 but works
 | |
| more aggressively to optimize the program.
 | |
| 
 | |
| =item B<-disable-inlining>
 | |
| 
 | |
| Do not run the inlining pass. Functions will not be inlined into other
 | |
| functions.
 | |
| 
 | |
| =item B<-disable-opt>
 | |
| 
 | |
| Completely disable optimization. The various B<-On> options will be ignored and
 | |
| no link time optimization passes will be run.
 | |
| 
 | |
| =item B<-disable-internalize>
 | |
| 
 | |
| Do not mark all symbols as internal.
 | |
| 
 | |
| =item B<-verify>
 | |
| 
 | |
| Run the verification pass after each of the passes to verify intermediate
 | |
| results.
 | |
| 
 | |
| =item B<-s>
 | |
| 
 | |
| Strip symbol info from the executable to make it smaller.
 | |
| 
 | |
| =item B<-export-dynamic>
 | |
| 
 | |
| An alias for -disable-internalize
 | |
| 
 | |
| =item B<-load> F<module>
 | |
| 
 | |
| Load an optimization module, F<module>, which is expected to be a dynamic
 | |
| library that provides the function name C<RunOptimizations>. This function will
 | |
| be passed the PassManager, and the optimization level (values 0-5 based on the
 | |
| B<-On> option). This function may add passes to the PassManager that should be
 | |
| run. This feature allows the optimization passes of B<llvm-ld> to be extended.
 | |
| 
 | |
| =back
 | |
| 
 | |
| =head2 Miscellaneous Options
 | |
| 
 | |
| =over
 | |
| 
 | |
| =item B<-v>
 | |
| 
 | |
| Specifies verbose mode. In this mode the linker will print additional
 | |
| information about the actions it takes, programs it executes, etc. 
 | |
| 
 | |
| =back
 | |
| 
 | |
| =head1 EXIT STATUS
 | |
| 
 | |
| If B<llvm-ld> succeeds, it will exit with 0 return code.  If an error occurs,
 | |
| it will exit with a non-zero return code.
 | |
| 
 | |
| =head1 ENVIRONMENT
 | |
| 
 | |
| The C<LLVM_LIB_SEARCH_PATH> environment variable is used to find bytecode
 | |
| libraries. Any paths specified in this variable will be searched after the C<-L>
 | |
| options.
 | |
| 
 | |
| =head1 SEE ALSO
 | |
| 
 | |
| L<llvm-ar|llvm-ar>
 | |
| 
 | |
| =head1 AUTHORS
 | |
| 
 | |
| Maintained by the LLVM Team (L<http://llvm.cs.uiuc.edu>).
 | |
| 
 | |
| =cut
 |