[RISCV] Regenerate autogen test to remove spurious diff
[llvm-project.git] / llvm / docs / CommandGuide / llvm-link.rst
blob1cc1376becf9df51c23e6e82073aaf2dfd8919b3
1 llvm-link - LLVM bitcode linker
2 ===============================
4 .. program:: llvm-link
6 SYNOPSIS
7 --------
9 :program:`llvm-link` [*options*] *filename ...*
11 DESCRIPTION
12 -----------
14 :program:`llvm-link` takes several LLVM bitcode files and links them together
15 into a single LLVM bitcode file.  It writes the output file to standard output,
16 unless the :option:`-o` option is used to specify a filename.
18 OPTIONS
19 -------
21 .. option:: -f
23  Enable binary output on terminals.  Normally, :program:`llvm-link` will refuse
24  to write raw bitcode output if the output stream is a terminal. With this
25  option, :program:`llvm-link` will write raw bitcode regardless of the output
26  device.
28 .. option:: -o filename
30  Specify the output file name.  If ``filename`` is "``-``", then
31  :program:`llvm-link` will write its output to standard output.
33 .. option:: -S
35  Write output in LLVM intermediate language (instead of bitcode).
37 .. option:: -d
39  If specified, :program:`llvm-link` prints a human-readable version of the
40  output bitcode file to standard error.
42 .. option:: --help
44  Print a summary of command line options.
46 .. option:: -v
48  Verbose mode.  Print information about what :program:`llvm-link` is doing.
49  This typically includes a message for each bitcode file linked in and for each
50  library found.
52 .. option:: --override <filename>
54   Adds the passed-in file to the link and overrides symbols that have already
55   been declared with the definitions in the file that is passed in. This flag
56   can be specified multiple times to have multiple files act as overrides. If
57   a symbol is declared more than twice, the definition from the file declared
58   last takes precedence.
60 .. option:: --import <function:filename>
62   Specify a function that should be imported from the specified file for
63   linking with ThinLTO. This option can be specified multiple times to import
64   multiple functions.
66 .. option:: --summary-index <filename>
68   Specify the path to a file containing the module summary index with the
69   results of an earlier ThinLTO link. This option is required when 
70   `--import` is used.
72 .. option:: --internalize
74   Internalize the linked symbols.
76 .. option:: --disable-debug-info-type-map
78   Disables the use of a uniquing type map for debug info.
80 .. option:: --only-needed
82   Link only needed symbols.
84 .. option:: --disable-lazy-loading
86   Disable lazy module loading.
88 .. option:: --suppress-warnings
90   Suppress all linker warnings.
92 .. option:: --preserve-bc-uselistorder
93   
94   Preserve the use-list order when writing LLVM bitcode.
96 .. option:: --preserve-ll-uselistorder
98   Preserve the use-list order when writing LLVM assembly.
100 .. option:: --ignore-non-bitcode
102   Do not error out when a non-bitcode file is encountered while processing
103   an archive.
105 EXIT STATUS
106 -----------
108 If :program:`llvm-link` succeeds, it will exit with 0.  Otherwise, if an error
109 occurs, it will exit with a non-zero value.