xref: /llvm-project/llvm/docs/CommandGuide/llvm-as.rst (revision 09a066b3aabfc4ea21d59d464f032f5f8a25c059)
18f4a8a63SDaniel Dunbarllvm-as - LLVM assembler
28f4a8a63SDaniel Dunbar========================
38f4a8a63SDaniel Dunbar
4a056684cSJames Henderson.. program:: llvm-as
5a056684cSJames Henderson
68f4a8a63SDaniel DunbarSYNOPSIS
78f4a8a63SDaniel Dunbar--------
88f4a8a63SDaniel Dunbar
98f4a8a63SDaniel Dunbar**llvm-as** [*options*] [*filename*]
108f4a8a63SDaniel Dunbar
118f4a8a63SDaniel DunbarDESCRIPTION
128f4a8a63SDaniel Dunbar-----------
138f4a8a63SDaniel Dunbar
148f4a8a63SDaniel Dunbar**llvm-as** is the LLVM assembler.  It reads a file containing human-readable
158f4a8a63SDaniel DunbarLLVM assembly language, translates it to LLVM bitcode, and writes the result
168f4a8a63SDaniel Dunbarinto a file or to standard output.
178f4a8a63SDaniel Dunbar
188f4a8a63SDaniel DunbarIf *filename* is omitted or is ``-``, then **llvm-as** reads its input from
198f4a8a63SDaniel Dunbarstandard input.
208f4a8a63SDaniel Dunbar
218f4a8a63SDaniel DunbarIf an output file is not specified with the **-o** option, then
228f4a8a63SDaniel Dunbar**llvm-as** sends its output to a file or standard output by following
238f4a8a63SDaniel Dunbarthese rules:
248f4a8a63SDaniel Dunbar
254a8948d5SBill Wendling* If the input is standard input, then the output is standard output.
268f4a8a63SDaniel Dunbar
274a8948d5SBill Wendling* If the input is a file that ends with ``.ll``, then the output file is of the
284a8948d5SBill Wendling  same name, except that the suffix is changed to ``.bc``.
298f4a8a63SDaniel Dunbar
304a8948d5SBill Wendling* If the input is a file that does not end with the ``.ll`` suffix, then the
318f4a8a63SDaniel Dunbar  output file has the same name as the input file, except that the ``.bc``
328f4a8a63SDaniel Dunbar  suffix is appended.
338f4a8a63SDaniel Dunbar
348f4a8a63SDaniel DunbarOPTIONS
358f4a8a63SDaniel Dunbar-------
368f4a8a63SDaniel Dunbar
378f4a8a63SDaniel Dunbar**-f**
388f4a8a63SDaniel Dunbar Enable binary output on terminals.  Normally, **llvm-as** will refuse to
398f4a8a63SDaniel Dunbar write raw bitcode output if the output stream is a terminal. With this option,
408f4a8a63SDaniel Dunbar **llvm-as** will write raw bitcode regardless of the output device.
418f4a8a63SDaniel Dunbar
428f4a8a63SDaniel Dunbar**-help**
438f4a8a63SDaniel Dunbar Print a summary of command line options.
448f4a8a63SDaniel Dunbar
458f4a8a63SDaniel Dunbar**-o** *filename*
468f4a8a63SDaniel Dunbar Specify the output file name.  If *filename* is ``-``, then **llvm-as**
478f4a8a63SDaniel Dunbar sends its output to standard output.
488f4a8a63SDaniel Dunbar
498f4a8a63SDaniel DunbarEXIT STATUS
508f4a8a63SDaniel Dunbar-----------
518f4a8a63SDaniel Dunbar
524a8948d5SBill WendlingIf **llvm-as** succeeds, it will exit with 0.  Otherwise, if an error occurs, it
534a8948d5SBill Wendlingwill exit with a non-zero value.
548f4a8a63SDaniel Dunbar
558f4a8a63SDaniel DunbarSEE ALSO
568f4a8a63SDaniel Dunbar--------
578f4a8a63SDaniel Dunbar
58*09a066b3SAlex Brachet:manpage:`llvm-dis(1)`, as(1)
59