# LLVM: `llvm-as` tool

### NAME

`llvm-as`

### SYNOPSIS

`llvm-as [options] [filename]`

### DESCRIPTION

The `llvm-as` command is the LLVM assembler. It reads a file containing human readable LLVM assembly language, translates it to LLVM bytecode, 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 the following logic:

- 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
  Force overwrite. Normally, `llvm-as` will refuse to overwrite an output file that already exists. With this option, `llvm-as` will overwrite the output file and replace it with new bytecode.

- -help
  Print a summary of command line options.

- -o <filename>
  Specify the output filename. If filename is -, then `llvm-as` sends its output to standard output.

- -stats
  Print statistics.

- -time-passes
  Record the amount of time needed for each pass and print it to standard error.

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

Maintained by the LLVM Team.