diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2004-11-21 18:20:16 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2004-11-21 18:20:16 +0000 |
commit | 28e8e42d371e7c3cfc8366d3dd3416079ad03f5a (patch) | |
tree | c76cb77d331b609b1156c7d7b8bda9e5a75ab4dc /docs/CommandGuide | |
parent | 8b88b461822a52186e405f219693c691ebbc99fc (diff) | |
download | external_llvm-28e8e42d371e7c3cfc8366d3dd3416079ad03f5a.zip external_llvm-28e8e42d371e7c3cfc8366d3dd3416079ad03f5a.tar.gz external_llvm-28e8e42d371e7c3cfc8366d3dd3416079ad03f5a.tar.bz2 |
First version of manual page for llvm-ld.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18092 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/CommandGuide')
-rw-r--r-- | docs/CommandGuide/llvm-ld.pod | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/docs/CommandGuide/llvm-ld.pod b/docs/CommandGuide/llvm-ld.pod new file mode 100644 index 0000000..a20222c --- /dev/null +++ b/docs/CommandGuide/llvm-ld.pod @@ -0,0 +1,161 @@ +=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 + +=item B<-v> + +Specifies verbose mode. In this mode the linker will print additional +information about the actions it takes, programs it executes, etc. + +=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 SEE ALSO + +L<llvm-ar|llvm-ar> + +=head1 AUTHORS + +Maintained by the LLVM Team (L<http://llvm.cs.uiuc.edu>). + +=cut |