llvm-as - LLVM assembler


llvm-as [options] [filename]


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.


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


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


llvm-dis|llvm-dis, gccas|gccas