summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/Bugpoint.html8
-rw-r--r--docs/CFEBuildInstrs.html8
-rw-r--r--docs/FAQ.html25
-rw-r--r--docs/GettingStarted.html46
-rw-r--r--docs/GettingStartedVS.html19
-rw-r--r--docs/MakefileGuide.html4
-rw-r--r--docs/index.html19
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