| # llvm-as - LLVM assembler | |
| ```{program} llvm-as | |
| ``` | |
| ## SYNOPSIS | |
| **llvm-as** \[*options*\] \[*filename*\] | |
| ## DESCRIPTION | |
| **llvm-as** is the LLVM assembler. It reads a file containing human-readable | |
| LLVM assembly language, translates it to LLVM bitcode, and writes the result | |
| into a file or to standard output. | |
| If *filename* is omitted or is `-`, then **llvm-as** reads its input from | |
| standard input. | |
| If an output file is not specified with the **-o** option, then | |
| **llvm-as** sends its output to a file or standard output by following | |
| these rules: | |
| - If the input is standard input, then the output is standard output. | |
| - If the input is a file that ends with `.ll`, then the output file is of the | |
| same name, except that the suffix is changed to `.bc`. | |
| - If the input is a file that does not end with the `.ll` suffix, then the | |
| output file has the same name as the input file, except that the `.bc` | |
| suffix is appended. | |
| ## OPTIONS | |
| **-f** | |
| : Enable binary output on terminals. Normally, **llvm-as** will refuse to | |
| write raw bitcode output if the output stream is a terminal. With this option, | |
| **llvm-as** will write raw bitcode regardless of the output device. | |
| **-help** | |
| : Print a summary of command line options. | |
| **-o** *filename* | |
| : Specify the output file name. If *filename* is `-`, then **llvm-as** | |
| sends its output to standard output. | |
| ## EXIT STATUS | |
| If **llvm-as** succeeds, it will exit with 0. Otherwise, if an error occurs, it | |
| will exit with a non-zero value. | |
| ## SEE ALSO | |
| {manpage}`llvm-dis(1)`, as(1) | |