NAME
llvmc - The LLVM Compiler Driver (WIP)
SYNOPSIS
llvmc [options] filenames...
DESCRIPTION
llvmc is a configurable driver for invoking other LLVM (and non-LLVM)
tools in order to compile, optimize and link software for multiple
languages. For those familiar with FSF's gcc tool, it is very similar.
Please note that llvmc is considered an experimental tool.
OPTIONS
Built-in Options
LLVMC has some built-in options that can't be overridden in the
configuration libraries.
-o filename
Output file name.
-x language
Specify the language of the following input files until the next -x
option.
-load plugin_name
Load the specified plugin DLL. Example:
-load $LLVM_DIR/Release/lib/LLVMCSimple.so.
-v or --verbose
Enable verbose mode, i.e. print out all executed commands.
--check-graph
Check the compilation for common errors like mismatched
output/input language names, multiple default edges and cycles.
Because of plugins, these checks can't be performed at compile-
time. Exit with code zero if no errors were found, and return the
number of found errors otherwise. Hidden option, useful for
debugging LLVMC plugins.
--view-graph
Show a graphical representation of the compilation graph and exit.
Requires that you have dot and gv programs installed. Hidden
option, useful for debugging LLVMC plugins.
--write-graph
Write a compilation-graph.dot file in the current directory with
the compilation graph description in Graphviz format (identical to
the file used by the --view-graph option). The -o option can be
used to set the output file name. Hidden option, useful for
debugging LLVMC plugins.
--save-temps
Write temporary files to the current directory and do not delete
them on exit. This option can also take an argument: the
--save-temps=obj switch will write files into the directory
specified with the -o option. The --save-temps=cwd and --save-temps
switches are both synonyms for the default behaviour.
--temp-dir directory
Store temporary files in the given directory. This directory is
deleted on exit unless --save-temps is specified. If
--save-temps=obj is also specified, --temp-dir is given the
precedence.
-help
Print a summary of command-line options and exit.
-help-hidden
Print a summary of command-line options and exit. Print help even
for options intended for developers.
--version
Print version information and exit.
@file
Read command-line options from file. The options read are inserted
in place of the original @file option. If file does not exist, or
cannot be read, then the option will be treated literally, and not
removed.
Options in file are separated by whitespace. A whitespace character
may be included in an option by surrounding the entire option in
either single or double quotes. Any character (including a
backslash) may be included by prefixing the character to be
included with a backslash. The file may itself contain additional
@file options; any such options will be processed recursively.
Control Options
By default, LLVMC is built with some standard configuration libraries
that define the following options:
-clang
Use Clang instead of llvm-gcc.
-opt
Enable optimization passes with opt. To pass options to the opt
program use the -Wo, option.
-I directory
Add a directory to the header file search path.
-L directory
Add directory to the library search path.
-F directory
Add directory to the framework search path.
-lname
Link in the library libname.[bc | a | so]. This library should be
a bitcode library.
-framework name
Link in the library libname.[bc | a | so]. This library should be
a bitcode library.
-emit-llvm
Output LLVM bitcode (with -c) or assembly (with -S) instead of
native object (or assembly). If -emit-llvm is given without either
-c or -S it has no effect.
-Wa Pass options to assembler.
-Wl Pass options to linker.
-Wo Pass options to opt.
-Wllc
Pass options to llc (code generator).
EXIT STATUS
If llvmc succeeds, it will exit with code 0. Otherwise, if an error
occurs, it will exit with a non-zero value. If one of the compilation
tools returns a non-zero status, pending actions will be discarded and
llvmc will return the same result code as the failing compilation tool.
SEE ALSO
llvm-gcc, llvm-g++, llvm-as, llvm-dis, llc, llvm-link
AUTHORS
Maintained by the LLVM Team (<http://llvm.org>).