diff --git a/docs/GettingStarted.html b/docs/GettingStarted.html index f6905d65751..0f77b2275d1 100644 --- a/docs/GettingStarted.html +++ b/docs/GettingStarted.html @@ -815,26 +815,47 @@ following is a brief introduction to the most important tools.

+
+ +
analyze
analyze is used to run a specific + analysis on an input LLVM bytecode file and print out the results. It is + primarily useful for debugging analyses, or familiarizing yourself with + what an analysis does.

+ +

bugpoint
bugpoint is used to debug + optimization passes or code generation backends by narrowing down the + given test case to the minimum number of passes and/or instructions that + still cause a problem, whether it is a crash or miscompilation. See HowToSubmitABug.html for more information + on using bugpoint.

+ +

llvm-ar
The archiver produces an archive containing + the given LLVM bytecode files, optionally with an index for faster + lookup.

+

llvm-as
The assembler transforms the human readable LLVM assembly to LLVM bytecode.

llvm-dis
The disassembler transforms the LLVM - bytecode to human readable LLVM assembly. Additionally it can convert + bytecode to human readable LLVM assembly. Additionally, it can convert LLVM bytecode to C, which is enabled with the -c option.

+

llvm-link
llvm-link, not surprisingly, + links multiple LLVM modules into a single program.

+

lli
lli is the LLVM interpreter, which can directly execute LLVM bytecode (although very slowly...). In addition - to a simple interpreter, lli is also has debugger and tracing - modes (entered by specifying -debug or -trace on the - command line, respectively). Finally, for architectures that support it - (currently only x86 and Sparc), by default, lli will function as - a Just-In-Time compiler (if the functionality was compiled in), and will - execute the code much faster than the interpreter.

+ to a simple interpreter, lli also has a tracing mode (entered by + specifying -trace on the command line). Finally, for + architectures that support it (currently only x86 and Sparc), by default, + lli will function as a Just-In-Time compiler (if the + functionality was compiled in), and will execute the code much + faster than the interpreter.

llc
llc is the LLVM backend compiler, which translates LLVM bytecode to a SPARC or x86 assembly file.

-

llvmgcc
llvmgcc is a GCC based C frontend +
llvmgcc
llvmgcc is a GCC-based C frontend that has been retargeted to emit LLVM code as the machine code output. It works just like any other GCC compiler, taking the typical -c, -S, -E, -o options that are typically used. The source code for the @@ -845,15 +866,14 @@
gccas
This tool is invoked by the llvmgcc frontend as the "assembler" part of the compiler. This tool actually assembles LLVM assembly to LLVM bytecode, - performs a variety of optimizations, - and outputs LLVM bytecode. Thus when you invoke llvmgcc -c x.c -o - x.o, you are causing gccas to be run, which writes the - x.o file (which is an LLVM bytecode file that can be - disassembled or manipulated just like any other bytecode file). The - command line interface to gccas is designed to be as close as - possible to the system `as' utility so that the gcc - frontend itself did not have to be modified to interface to a "weird" - assembler.

+ performs a variety of optimizations, and outputs LLVM bytecode. Thus + when you invoke llvmgcc -c x.c -o x.o, you are causing + gccas to be run, which writes the x.o file (which is + an LLVM bytecode file that can be disassembled or manipulated just like + any other bytecode file). The command line interface to gccas + is designed to be as close as possible to the system + `as' utility so that the gcc frontend itself did not have to be + modified to interface to a "weird" assembler.

gccld
gccld links together several LLVM bytecode files into one bytecode file and does some optimization. It is @@ -869,12 +889,6 @@ command is a good way to get a list of the program transformations available in LLVM.

- -

analyze
analyze is used to run a specific - analysis on an input LLVM bytecode file and print out the results. It is - primarily useful for debugging analyses, or familiarizing yourself with - what an analysis does.

-