


LLVMC(1)                LLVM Command Guide               LLVMC(1)


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



CVS                         2010-05-06                          1





LLVMC(1)                LLVM Command Guide               LLVMC(1)


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





CVS                         2010-05-06                          2





LLVMC(1)                LLVM Command Guide               LLVMC(1)


       -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>).
























CVS                         2010-05-06                          3


