| llvm-link - LLVM bitcode linker | |
| =============================== | |
| .. program:: llvm-link | |
| SYNOPSIS | |
| -------- | |
| :program:`llvm-link` [*options*] *filename ...* | |
| DESCRIPTION | |
| ----------- | |
| :program:`llvm-link` takes several LLVM bitcode files and links them together | |
| into a single LLVM bitcode file. It writes the output file to standard output, | |
| unless the :option:`-o` option is used to specify a filename. | |
| OPTIONS | |
| ------- | |
| .. option:: -f | |
| Enable binary output on terminals. Normally, :program:`llvm-link` will refuse | |
| to write raw bitcode output if the output stream is a terminal. With this | |
| option, :program:`llvm-link` will write raw bitcode regardless of the output | |
| device. | |
| .. option:: -o filename | |
| Specify the output file name. If ``filename`` is "``-``", then | |
| :program:`llvm-link` will write its output to standard output. | |
| .. option:: -S | |
| Write output in LLVM intermediate language (instead of bitcode). | |
| .. option:: -d | |
| If specified, :program:`llvm-link` prints a human-readable version of the | |
| output bitcode file to standard error. | |
| .. option:: --help | |
| Print a summary of command line options. | |
| .. option:: -v | |
| Verbose mode. Print information about what :program:`llvm-link` is doing. | |
| This typically includes a message for each bitcode file linked in and for each | |
| library found. | |
| .. option:: --override <filename> | |
| Adds the passed-in file to the link and overrides symbols that have already | |
| been declared with the definitions in the file that is passed in. This flag | |
| can be specified multiple times to have multiple files act as overrides. If | |
| a symbol is declared more than twice, the definition from the file declared | |
| last takes precedence. | |
| .. option:: --import <function:filename> | |
| Specify a function that should be imported from the specified file for | |
| linking with ThinLTO. This option can be specified multiple times to import | |
| multiple functions. | |
| .. option:: --summary-index <filename> | |
| Specify the path to a file containing the module summary index with the | |
| results of an earlier ThinLTO link. This option is required when | |
| `--import` is used. | |
| .. option:: --internalize | |
| Maintains existing linkage for symbols defined in the first input and | |
| converts linkage in all other inputs to internal linkage unless they are | |
| referenced by `llvm*.used` or are special-cased runtime functions (e.g. | |
| stack protector runtime). | |
| .. option:: --disable-debug-info-type-map | |
| Disables the use of a uniquing type map for debug info. | |
| .. option:: --only-needed | |
| Link only needed symbols. | |
| .. option:: --disable-lazy-loading | |
| Disable lazy module loading. | |
| .. option:: --suppress-warnings | |
| Suppress all linker warnings. | |
| .. option:: --preserve-bc-uselistorder | |
| Preserve the use-list order when writing LLVM bitcode. | |
| .. option:: --preserve-ll-uselistorder | |
| Preserve the use-list order when writing LLVM assembly. | |
| .. option:: --ignore-non-bitcode | |
| Do not error out when a non-bitcode file is encountered while processing | |
| an archive. | |
| EXIT STATUS | |
| ----------- | |
| If :program:`llvm-link` succeeds, it will exit with 0. Otherwise, if an error | |
| occurs, it will exit with a non-zero value. |