diff --git a/docs/Bugpoint.html b/docs/Bugpoint.html
index 1f295336706..43d237d094e 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 gccas crashes while optimizing a
+useful ones. For example, if opt 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.
-For detailed case scenarios, such as debugging gccas,
-gccld, or one of the LLVM code generators, see For detailed case scenarios, such as debugging opt,
+llvm-ld, or one of the LLVM code generators, see How To Submit a Bug Report document.
@@ -114,7 +114,7 @@ Otherwise, there is no problem bugpoint can debug.
as it can to reduce the list of passes (for optimizer crashes) and the size of
the test program. First, bugpoint figures out which combination of
optimizer passes triggers the bug. This is useful when debugging a problem
-exposed by gccas, for example, because it runs over 38 passes.
+exposed by opt, for example, because it runs over 38 passes.
Next, bugpoint 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 85d1ebd90ff..033edcc1f20 100644
--- a/docs/CFEBuildInstrs.html
+++ b/docs/CFEBuildInstrs.html
@@ -314,8 +314,8 @@ sh:
- Often targets include special assembler or linker flags which
- gccas/gccld does not understand. In general,
- these can just be removed.
+ llvm-as, opt, or llvm-ld do not
+ understand. In general, these can just be removed.
- 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:
- You may have to disable multilib support in your target. Using
multilib support causes the GCC compiler driver to add a lot of
- "-L" options to the link line, which do not relate to LLVM
- and confuse gccld. To disable multilibs, delete any
+ "-L" options to the link line, which do not relate to
+ LLVM. To disable multilibs, delete any
MULTILIB_OPTIONS lines from your target files.
- Did we mention that we don't support inline assembly? You'll
diff --git a/docs/FAQ.html b/docs/FAQ.html
index 2dffd203ffd..d540edd81b0 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
To work around this, perform the following steps:
-
- -
- Make sure the CC and CXX environment variables contains the full path to the
- LLVM GCC front end.
-
+ - Make sure the CC and CXX environment variables contains the full path to
+ the LLVM GCC front end.
- -
- Make sure that the regular C compiler is first in your PATH.
-
+ - Make sure that the regular C compiler is first in your PATH.
- -
- Add the string "-Wl,-native" to your CFLAGS environment variable.
-
+ - Add the string "-Wl,-native" to your CFLAGS environment variable.
-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.
-
+This will allow the llvm-ld 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.
diff --git a/docs/GettingStarted.html b/docs/GettingStarted.html
index 41ec511e14e..3684e4a6558 100644
--- a/docs/GettingStarted.html
+++ b/docs/GettingStarted.html
@@ -1342,11 +1342,10 @@ information is in the
Command Guide.
LLVM assembly.
- llvm-ld
-
- llvm-ld is very similar to gccld and provides a general purpose
- and extensible linker for LLVM. This is the linker invoked by llvmc.
- It allows optimization modules to be loaded so that language specific
- optimizations can be applied at link time. This tool is considered
- experimental.
+
- llvm-ld is a general purpose and extensible linker for LLVM.
+ This is the linker invoked by llvmc. 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.
- llvm-link
- llvm-link, not surprisingly, links multiple LLVM modules into
@@ -1368,36 +1367,13 @@ information is in the Command Guide.
the -march=c option).
- llvm-gcc
-
- llvm-gcc 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
- llvm-gcc tool is available as a separate CVS module.
-
-
- - gccas
- - This tool is invoked by the llvm-gcc 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
- llvm-gcc -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 the linker invoked by
- the GCC frontend when multiple .o files need to be linked together.
- Like gccas, the command line interface of gccld is
- designed to match the system linker, to aid interfacing with the GCC
- frontend.
-
-
-
+
- llvm-gcc 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 -emit-llvm option) instead of the
+ usual machine code output. It works just like any other GCC compiler,
+ taking the typical -c, -S, -E, -o options that are typically used.
+ Additionally, the the source code for llvm-gcc is available as a
+ separate CVS module.
- opt
- opt reads LLVM bytecode, applies a series of LLVM to LLVM
diff --git a/docs/GettingStartedVS.html b/docs/GettingStartedVS.html
index 15b31b011fa..45e323b6ff4 100644
--- a/docs/GettingStartedVS.html
+++ b/docs/GettingStartedVS.html
@@ -258,18 +258,13 @@ All these paths are absolute:
Next, compile the C file into a LLVM bytecode file:
- % llvm-gcc hello.c -o hello
+ % llvm-gcc hello.c -emit-llvm -o hello.bc
- Note that you should have already built the tools and they have to be
- in your path, at least gccas and gccld.
-
- This will create two result files: hello and
- hello.bc. The hello.bc is the LLVM bytecode that
- corresponds the the compiled program and the library facilities that it
- required. hello is a simple shell script that runs the bytecode
- file with lli, making the result directly executable. Note that
- all LLVM optimizations are enabled by default, so there is no need for a
- "-O3" switch.
+ This will create the result file hello.bc 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
+ lli tool, compile it to native assembly with the llc,
+ optimize or analyze it further with the opt tool, etc.
Note: while you cannot do this step on Windows, you can do it on a
Unix system and transfer hello.bc to Windows.
diff --git a/docs/MakefileGuide.html b/docs/MakefileGuide.html
index 6c0310da47f..c13e06fb1f0 100644
--- a/docs/MakefileGuide.html
+++ b/docs/MakefileGuide.html
@@ -819,8 +819,6 @@
executables (e.g. Unix).
- FLEX(configured)
- Specifies the path to the flex tool.
-
- GCCLD(defaulted)
-
- Specifies the path to the gccld tool.
- INSTALL(configured)
- Specifies the path to the install tool.
- LDFLAGS(configured)
@@ -836,6 +834,8 @@
- Specifies the path to the LLVM version of the GCC 'C' Compiler
- LLVMGXX(defaulted)
- Specifies the path to the LLVM version of the GCC C++ Compiler
+
- LLVMLD(defaulted)
+
- Specifies the path to the LLVM bytecode linker tool
- LLVM_OBJ_ROOT(configured)
- Specifies the top directory into which the output of the build is
diff --git a/docs/index.html b/docs/index.html
index f999921412f..23e566c1c59 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -68,24 +68,23 @@ those using Visual Studio on Windows.
manual for the LLVM command line utilities ("man" pages for LLVM tools).
Current tools:
llvm-ar,
- llvm-ranlib,
llvm-as,
llvm-dis,
- opt,
- llc,
- lli,
+ llvm-extract,
+ llvm-ld,
llvm-link,
llvm-nm,
llvm-prof,
- llvmgcc,
- llvmgxx,
- gccas,
- gccld,
+ llvm-ranlib,
+ opt,
+ llc,
+ lli,
+ llvmc
+ llvm-gcc,
+ llvm-g++,
stkrc,
bugpoint,
- llvm-extract,
llvm-bcanalyzer,
- llvmc
- Frequently Asked Questions - A list of common