llvm-as - LLVM assembler — LLVM 21.1.8 documentation

# llvm-as - LLVM assembler

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

llvm-dis(1), as(1)