llvm-as

LLVM Intermediate Representation (`.ll`) to Bitcode (`.bc`) assembler.

TLDR

Assemble an IR file

$ llvm-as -o [path/to/out.bc] [path/to/source.ll]
copy


Assemble an IR file and include a module hash in the produced Bitcode file
$ llvm-as --module-hash -o [path/to/out.bc] [path/to/source.ll]
copy


Read an IR file from stdin and assemble it
$ cat [path/to/source.ll] | llvm-as -o [path/to/out.bc]
copy

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.

COPYRIGHT

2003-2022, LLVM Project

SEE ALSO

llvm-dis(1), as(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

Copied to clipboard