llvm-gcc - LLVM C front-end
llvm-gcc [options] filename
The llvm-gcc command is the LLVM C front end. It is a modified
version of gcc that takes C programs and compiles them into LLVM
bytecode or assembly language, depending upon the options.
Unless the -S option is specified, llvm-gcc will use the
gccas program to perform some optimizations and create an
LLVM bytecode file. Unless the -c option is specified, llvm-gcc
will also use the gccld program to perform further
optimizations and link the resulting bytecode file(s)
with support
libraries to create an executable program.
Being derived from the GNU Compiler Collection, llvm-gcc has many
of gcc's features and accepts most of gcc's options. It handles a
number of gcc's extensions to the C programming language.
- --help
-
Print a summary of command line options.
- -S
-
Do not generate an LLVM bytecode file. Rather, compile the source
file into an LLVM assembly language file.
- -c
-
Do not generate a linked executable. Rather, compile the source
file into an LLVM bytecode file. This bytecode file can then be
linked with other bytecode files later on to generate a full LLVM
executable.
- -o filename
-
Specify the output file to be filename.
- -I directory
-
Add a directory to the header file search path. This option can be
repeated.
- -L directory
-
Add directory to the library search path. This option can be
repeated.
- -lname
-
Link in the library libname.[bc | a | so]. This library should
be a bytecode library.
- -Wa,option
-
Pass option to gccas
- -Wl,option
-
Pass option to gccld
- -Wa,-disable-inlining -Wl,-disable-inlining
-
Fully disable all inlining
- -emit-llvm
-
Emit llvm files (bytecode instead of object files, and .ll files instead of native assembly files if used with -S)
If llvm-gcc succeeds, it will exit with 0. Otherwise, if an error
occurs, it will exit with a non-zero value.
llvm-g++, gccas, gccld
Maintained by the LLVM Team (http://llvm.org).