diff options
-rw-r--r-- | docs/Bugpoint.html | 8 | ||||
-rw-r--r-- | docs/CFEBuildInstrs.html | 8 | ||||
-rw-r--r-- | docs/FAQ.html | 25 | ||||
-rw-r--r-- | docs/GettingStarted.html | 46 | ||||
-rw-r--r-- | docs/GettingStartedVS.html | 19 | ||||
-rw-r--r-- | docs/MakefileGuide.html | 4 | ||||
-rw-r--r-- | docs/index.html | 19 |
7 files changed, 46 insertions, 83 deletions
diff --git a/docs/Bugpoint.html b/docs/Bugpoint.html index 1f29533..43d237d 100644 --- a/docs/Bugpoint.html +++ b/docs/Bugpoint.html @@ -38,13 +38,13 @@ passes. It can be used to debug three types of failures: optimizer crashes, miscompilations by optimizers, or bad native code generation (including problems in the static and JIT compilers). It aims to reduce large test cases to small, -useful ones. For example, if <tt>gccas</tt> crashes while optimizing a +useful ones. For example, if <tt>opt</tt> crashes while optimizing a file, it will identify the optimization (or combination of optimizations) that causes the crash, and reduce the file down to a small example which triggers the crash.</p> -<p>For detailed case scenarios, such as debugging <tt>gccas</tt>, -<tt>gccld</tt>, or one of the LLVM code generators, see <a +<p>For detailed case scenarios, such as debugging <tt>opt</tt>, +<tt>llvm-ld</tt>, or one of the LLVM code generators, see <a href="HowToSubmitABug.html">How To Submit a Bug Report document</a>.</p> </div> @@ -114,7 +114,7 @@ Otherwise, there is no problem <tt>bugpoint</tt> can debug.</p> as it can to reduce the list of passes (for optimizer crashes) and the size of the test program. First, <tt>bugpoint</tt> figures out which combination of optimizer passes triggers the bug. This is useful when debugging a problem -exposed by <tt>gccas</tt>, for example, because it runs over 38 passes.</p> +exposed by <tt>opt</tt>, for example, because it runs over 38 passes.</p> <p>Next, <tt>bugpoint</tt> tries removing functions from the test program, to reduce its size. Usually it is able to reduce a test program to a single diff --git a/docs/CFEBuildInstrs.html b/docs/CFEBuildInstrs.html index 85d1ebd..033edcc 100644 --- a/docs/CFEBuildInstrs.html +++ b/docs/CFEBuildInstrs.html @@ -314,8 +314,8 @@ sh: <ul> <li>Often targets include special assembler or linker flags which - <tt>gccas</tt>/<tt>gccld</tt> does not understand. In general, - these can just be removed.</li> + <tt>llvm-as</tt>, <tt>opt</tt>, or <tt>llvm-ld</tt> do not + understand. In general, these can just be removed.</li> <li>LLVM currently does not support any floating point values other than 32-bit and 64-bit IEEE floating point. The primary effect of this @@ -331,8 +331,8 @@ sh: <li>You may have to disable multilib support in your target. Using multilib support causes the GCC compiler driver to add a lot of - "<tt>-L</tt>" options to the link line, which do not relate to LLVM - and confuse <tt>gccld</tt>. To disable multilibs, delete any + "<tt>-L</tt>" options to the link line, which do not relate to + LLVM. To disable multilibs, delete any <tt>MULTILIB_OPTIONS</tt> lines from your target files.</li> <li>Did we mention that we don't support inline assembly? You'll diff --git a/docs/FAQ.html b/docs/FAQ.html index 2dffd20..d540edd 100644 --- a/docs/FAQ.html +++ b/docs/FAQ.html @@ -460,28 +460,21 @@ or translation to the C back end). That is why configure thinks your system <p> To work around this, perform the following steps: </p> - <ol> - <li> - Make sure the CC and CXX environment variables contains the full path to the - LLVM GCC front end. - </li> + <li>Make sure the CC and CXX environment variables contains the full path to + the LLVM GCC front end.</li> - <li> - Make sure that the regular C compiler is first in your PATH. - </li> + <li>Make sure that the regular C compiler is first in your PATH. </li> - <li> - Add the string "-Wl,-native" to your CFLAGS environment variable. - </li> + <li>Add the string "-Wl,-native" to your CFLAGS environment variable.</li> </ol> <p> -This will allow the gccld linker to create a native code executable instead of -a shell script that runs the JIT. Creating native code requires standard -linkage, which in turn will allow the configure script to find out if code is -not linking on your system because the feature isn't available on your system. -</p> +This will allow the <tt>llvm-ld</tt> linker to create a native code executable +instead of shell script that runs the JIT. Creating native code requires +standard linkage, which in turn will allow the configure script to find out if +code is not linking on your system because the feature isn't available on your +system.</p> </div> <div class="question"> diff --git a/docs/GettingStarted.html b/docs/GettingStarted.html index 41ec511..3684e4a 100644 --- a/docs/GettingStarted.html +++ b/docs/GettingStarted.html @@ -1342,11 +1342,10 @@ information is in the <a href="CommandGuide/index.html">Command Guide</a>.</p> LLVM assembly.</dd> <dt><tt><b>llvm-ld</b></tt></dt> - <dd><tt>llvm-ld</tt> is very similar to gccld and provides a general purpose - and extensible linker for LLVM. This is the linker invoked by <tt>llvmc</tt>. - It allows optimization modules to be loaded so that language specific - optimizations can be applied at link time. This tool is considered - experimental.</dd> + <dd><tt>llvm-ld</tt> is a general purpose and extensible linker for LLVM. + This is the linker invoked by <tt>llvmc</tt>. It performsn standard link time + optimizations and allows optimization modules to be loaded and run so that + language specific optimizations can be applied at link time.</dd> <dt><tt><b>llvm-link</b></tt></dt> <dd><tt>llvm-link</tt>, not surprisingly, links multiple LLVM modules into @@ -1368,36 +1367,13 @@ information is in the <a href="CommandGuide/index.html">Command Guide</a>.</p> the -march=c option).</dd> <dt><tt><b>llvm-gcc</b></tt></dt> - <dd><tt>llvm-gcc</tt> 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 <tt>-c, -S, -E, - -o</tt> options that are typically used. The source code for the - <tt>llvm-gcc</tt> tool is available as a separate CVS module. - <blockquote> - <dl> - <dt><tt><b>gccas</b></tt></dt> - <dd>This tool is invoked by the <tt>llvm-gcc</tt> 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 - <tt>llvm-gcc -c x.c -o x.o</tt>, you are causing <tt>gccas</tt> to be - run, which writes the <tt>x.o</tt> file (which is an LLVM bytecode file - that can be disassembled or manipulated just like any other bytecode - file). The command line interface to <tt>gccas</tt> is designed to be - as close as possible to the <b>system</b> `<tt>as</tt>' utility so that - the gcc frontend itself did not have to be modified to interface to - a "weird" assembler.</dd> - - <dt><tt><b>gccld</b></tt></dt> - <dd><tt>gccld</tt> links together several LLVM bytecode files into one - bytecode file and does some optimization. It is the linker invoked by - the GCC frontend when multiple .o files need to be linked together. - Like <tt>gccas</tt>, the command line interface of <tt>gccld</tt> is - designed to match the system linker, to aid interfacing with the GCC - frontend.</dd> - </dl> - </blockquote> - </dd> + <dd><tt>llvm-gcc</tt> is a GCC-based C frontend that has been retargeted to + use LLVM as its backend instead of GCC's RTL backend. It can also emit LLVM + byte code or assembly (with the <tt>-emit-llvm</tt> option) instead of the + usual machine code output. It works just like any other GCC compiler, + taking the typical <tt>-c, -S, -E, -o</tt> options that are typically used. + Additionally, the the source code for <tt>llvm-gcc</tt> is available as a + separate CVS module.</dd> <dt><tt><b>opt</b></tt></dt> <dd><tt>opt</tt> reads LLVM bytecode, applies a series of LLVM to LLVM diff --git a/docs/GettingStartedVS.html b/docs/GettingStartedVS.html index 15b31b0..45e323b 100644 --- a/docs/GettingStartedVS.html +++ b/docs/GettingStartedVS.html @@ -258,18 +258,13 @@ All these paths are absolute:</p> </pre></li> <li><p>Next, compile the C file into a LLVM bytecode file:</p> - <p><tt>% llvm-gcc hello.c -o hello</tt></p> - - <p>Note that you should have already built the tools and they have to be - in your path, at least <tt>gccas</tt> and <tt>gccld</tt>.</p> - - <p>This will create two result files: <tt>hello</tt> and - <tt>hello.bc</tt>. The <tt>hello.bc</tt> is the LLVM bytecode that - corresponds the the compiled program and the library facilities that it - required. <tt>hello</tt> is a simple shell script that runs the bytecode - file with <tt>lli</tt>, making the result directly executable. Note that - all LLVM optimizations are enabled by default, so there is no need for a - "-O3" switch.</p> + <p><tt>% llvm-gcc hello.c -emit-llvm -o hello.bc</tt></p> + + <p>This will create the result file <tt>hello.bc</tt> which is the LLVM + bytecode that corresponds the the compiled program and the library + facilities that it required. You can execute this file directly using + <tt>lli</tt> tool, compile it to native assembly with the <tt>llc</tt>, + optimize or analyze it further with the <tt>opt</tt> tool, etc.</p> <p><b>Note: while you cannot do this step on Windows, you can do it on a Unix system and transfer <tt>hello.bc</tt> to Windows.</b></p></li> diff --git a/docs/MakefileGuide.html b/docs/MakefileGuide.html index 6c0310d..c13e06f 100644 --- a/docs/MakefileGuide.html +++ b/docs/MakefileGuide.html @@ -819,8 +819,6 @@ executables (e.g. Unix).</dd> <dt><a name="FLEX"><tt>FLEX</tt></a><small>(configured)</small></dt> <dd>Specifies the path to the <tt>flex</tt> tool.</dd> - <dt><a name="GCCLD"><tt>GCCLD</tt></a><small>(defaulted)</small></dt> - <dd>Specifies the path to the <tt>gccld</tt> tool.</dd> <dt><a name="INSTALL"><tt>INSTALL</tt></a><small>(configured)</small></dt> <dd>Specifies the path to the <tt>install</tt> tool.</dd> <dt><a name="LDFLAGS"><tt>LDFLAGS</tt></a><small>(configured)</small></dt> @@ -836,6 +834,8 @@ <dd>Specifies the path to the LLVM version of the GCC 'C' Compiler</dd> <dt><a name="LLVMGXX"><tt>LLVMGXX</tt></a><small>(defaulted)</small></dt> <dd>Specifies the path to the LLVM version of the GCC C++ Compiler</dd> + <dt><a name="LLVMLD"><tt>LLVMLD</tt></a><small>(defaulted)</small></dt> + <dd>Specifies the path to the LLVM bytecode linker tool</dd> <dt><a name="LLVM_OBJ_ROOT"><tt>LLVM_OBJ_ROOT</tt></a><small>(configured) </small></dt> <dd>Specifies the top directory into which the output of the build is diff --git a/docs/index.html b/docs/index.html index f999921..23e566c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -68,24 +68,23 @@ those using Visual Studio on Windows.</li> manual for the LLVM command line utilities ("man" pages for LLVM tools).<br/> Current tools: <a href="CommandGuide/html/llvm-ar.html">llvm-ar</a>, - <a href="CommandGuide/html/llvm-ranlib.html">llvm-ranlib</a>, <a href="CommandGuide/html/llvm-as.html">llvm-as</a>, <a href="CommandGuide/html/llvm-dis.html">llvm-dis</a>, - <a href="CommandGuide/html/opt.html">opt</a>, - <a href="CommandGuide/html/llc.html">llc</a>, - <a href="CommandGuide/html/lli.html">lli</a>, + <a href="CommandGuide/html/llvm-extract.html">llvm-extract</a>, + <a href="CommandGuide/html/llvm-ld.html">llvm-ld</a>, <a href="CommandGuide/html/llvm-link.html">llvm-link</a>, <a href="CommandGuide/html/llvm-nm.html">llvm-nm</a>, <a href="CommandGuide/html/llvm-prof.html">llvm-prof</a>, - <a href="CommandGuide/html/llvmgcc.html">llvmgcc</a>, - <a href="CommandGuide/html/llvmgxx.html">llvmgxx</a>, - <a href="CommandGuide/html/gccas.html">gccas</a>, - <a href="CommandGuide/html/gccld.html">gccld</a>, + <a href="CommandGuide/html/llvm-ranlib.html">llvm-ranlib</a>, + <a href="CommandGuide/html/opt.html">opt</a>, + <a href="CommandGuide/html/llc.html">llc</a>, + <a href="CommandGuide/html/lli.html">lli</a>, + <a href="CommandGuide/html/llvmc.html">llvmc</a> + <a href="CommandGuide/html/llvmgcc.html">llvm-gcc</a>, + <a href="CommandGuide/html/llvmgxx.html">llvm-g++</a>, <a href="CommandGuide/html/stkrc.html">stkrc</a>, <a href="CommandGuide/html/bugpoint.html">bugpoint</a>, - <a href="CommandGuide/html/llvm-extract.html">llvm-extract</a>, <a href="CommandGuide/html/llvm-bcanalyzer.html">llvm-bcanalyzer</a>, - <a href="CommandGuide/html/llvmc.html">llvmc</a> </li> <li><a href="FAQ.html">Frequently Asked Questions</a> - A list of common |