LLVM Logo

Navigation

  • index
  • next |
  • previous |
  • LLVM Home | 
  • DocumentationΒ»
  • Reference Β»
  • LLVM Command Guide Β»
  • llvm-link - LLVM bitcode linker

Documentation

  • Getting Started/Tutorials
  • User Guides
  • Reference

Getting Involved

  • Contributing to LLVM
  • Submitting Bug Reports
  • Mailing Lists
  • Discord
  • Meetups and Social Events

Additional Links

  • FAQ
  • Glossary
  • Publications
  • Github Repository

This Page

  • Show Source

Quick search

llvm-link - LLVM bitcode linkerΒΆ

SYNOPSISΒΆ

llvm-link [options] filename …

DESCRIPTIONΒΆ

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 -o option is used to specify a filename.

OPTIONSΒΆ

-fΒΆ

Enable binary output on terminals. Normally, llvm-link will refuse to write raw bitcode output if the output stream is a terminal. With this option, llvm-link will write raw bitcode regardless of the output device.

-o filenameΒΆ

Specify the output file name. If filename is β€œ-”, then llvm-link will write its output to standard output.

-SΒΆ

Write output in LLVM intermediate language (instead of bitcode).

-dΒΆ

If specified, llvm-link prints a human-readable version of the output bitcode file to standard error.

--helpΒΆ

Print a summary of command line options.

-vΒΆ

Verbose mode. Print information about what llvm-link is doing. This typically includes a message for each bitcode file linked in and for each library found.

--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.

--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.

--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.

--internalizeΒΆ

Internalize the linked symbols.

--disable-debug-info-type-mapΒΆ

Disables the use of a uniquing type map for debug info.

--only-neededΒΆ

Link only needed symbols.

--disable-lazy-loadingΒΆ

Disable lazy module loading.

--suppress-warningsΒΆ

Suppress all linker warnings.

--preserve-bc-uselistorderΒΆ

Preserve the use-list order when writing LLVM bitcode.

--preserve-ll-uselistorderΒΆ

Preserve the use-list order when writing LLVM assembly.

--ignore-non-bitcodeΒΆ

Do not error out when a non-bitcode file is encountered while processing an archive.

EXIT STATUSΒΆ

If llvm-link succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

Navigation

  • index
  • next |
  • previous |
  • LLVM Home | 
  • DocumentationΒ»
  • Reference Β»
  • LLVM Command Guide Β»
  • llvm-link - LLVM bitcode linker
Β© Copyright 2003-2025, LLVM Project. Last updated on 2025-09-10. Created using Sphinx 7.2.6.