X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;ds=sidebyside;f=docs%2FGettingStarted.html;h=69510e85be6c434986a7727a03db23219426c323;hb=a75ce9f5d2236d93c117e861e60e6f3f748c9555;hp=f1d24d78aa371ecfc4b8384789bc24caf913a934;hpb=478e71df542847eb213b5146555d5b093d52888e;p=oota-llvm.git diff --git a/docs/GettingStarted.html b/docs/GettingStarted.html index f1d24d78aa3..69510e85be6 100644 --- a/docs/GettingStarted.html +++ b/docs/GettingStarted.html @@ -44,10 +44,9 @@
Welcome to LLVM! In order to get started, you first need to know some basic information.
-First, LLVM comes in two pieces. The first piece is the LLVM suite. This -contains all of the tools, libraries, and header files needed to use the low -level virtual machine. It contains an assembler, disassembler, bitcode -analyzer and bitcode optimizer. It also contains a test suite that can be -used to test the LLVM tools and the GCC front end.
+First, LLVM comes in three pieces. The first piece is the LLVM +suite. This contains all of the tools, libraries, and header files +needed to use the low level virtual machine. It contains an +assembler, disassembler, bitcode analyzer and bitcode optimizer. It +also contains basic regression tests that can be used to test the LLVM +tools and the GCC front end.
The second piece is the GCC front end. This component provides a version of GCC that compiles C and C++ code into LLVM bitcode. Currently, the GCC front @@ -93,7 +93,7 @@ compiled into LLVM bitcode, a program can be manipulated with the LLVM tools from the LLVM suite.
-There is a third, optional piece called llvm-test. It is a suite of programs +There is a third, optional piece called Test Suite. It is a suite of programs with a testing harness that can be used to further test LLVM's functionality and performance.
@@ -114,13 +114,15 @@ and performance.Optionally, specify for directory the full pathname of the C/C++ front end installation to use with this LLVM configuration. If not specified, the PATH will be searched. This is only needed if you - want to run the testsuite or do some special kinds of LLVM builds.
+ want to run test-suite or do some special kinds of LLVM builds.Enable the SPEC2000 benchmarks for testing. The SPEC2000 benchmarks should be available in @@ -240,6 +243,11 @@ software you will need.
GCC 4.3.3 (Debian 4.3.3-10) on ARM: Miscompiles parts of LLVM 2.6 when optimizations are turned on. The symptom is an infinite loop in FoldingSetImpl::RemoveNode while running the code generator.
+GCC 4.3.5 and GCC 4.4.5 on ARM: These can miscompile value >> +1 even at -O0. A test failure in test/Assembler/alignstack.ll is +one symptom of the problem.
GNU ld 2.16.X. Some 2.16.X versions of the ld linker will produce very long warning messages complaining that some ".gnu.linkonce.t.*" symbol was defined in a discarded section. You can safely ignore these messages as they are @@ -682,7 +693,7 @@ compressed with the gzip program.
% cd llvm/projects -% svn co http://llvm.org/svn/llvm-project/test-suite/trunk llvm-test +% svn co http://llvm.org/svn/llvm-project/test-suite/trunk test-suite
Before configuring and compiling the LLVM suite, you can optionally extract the -LLVM GCC front end from the binary distribution. It is used for running the -llvm-test testsuite and for compiling C/C++ programs. Note that you can optionally -build llvm-gcc yourself after building the +
Before configuring and compiling the LLVM suite (or if you want to use just the LLVM +GCC front end) you can optionally extract the front end from the binary distribution. +It is used for running the LLVM test-suite and for compiling C/C++ programs. Note that +you can optionally build llvm-gcc yourself after building the main LLVM repository.
-To install the GCC front end, do the following:
+To install the GCC front end, do the following (on Windows, use an archival tool +like 7-zip that understands gzipped tars):
Once the binary is uncompressed, you should add a symlink for llvm-gcc and -llvm-g++ to some directory in your path. When you configure LLVM, it will -automatically detect llvm-gcc's presence (if it is in your path) enabling its -use in llvm-test. Note that you can always build or install llvm-gcc at any -pointer after building the main LLVM repository: just reconfigure llvm and -llvm-test will pick it up. +
Once the binary is uncompressed, if you're using a *nix-based system, add a symlink for +llvm-gcc and llvm-g++ to some directory in your path. If you're using a +Windows-based system, add the bin subdirectory of your front end installation directory +to your PATH environment variable. For example, if you uncompressed the binary to +c:\llvm-gcc, add c:\llvm-gcc\bin to your PATH.
+ +If you now want to build LLVM from source, when you configure LLVM, it will +automatically detect llvm-gcc's presence (if it is in your path) enabling its +use in test-suite. Note that you can always build or install llvm-gcc at any +point after building the main LLVM repository: just reconfigure llvm and +test-suite will pick it up.
-The binary versions of the GCC front end may not suit all of your needs. For -example, the binary distribution may include an old version of a system header -file, not "fix" a header file that needs to be fixed for GCC, or it may be -linked with libraries not available on your system.
+As a convenience for Windows users, the front end binaries for MinGW/x86 include +versions of the required w32api and mingw-runtime binaries. The last remaining step for +Windows users is to simply uncompress the binary binutils package from +MinGW into your front end installation directory. While the +front end installation steps are not quite the same as a typical manual MinGW installation, +they should be similar enough to those who have previously installed MinGW on Windows systems.
-In cases like these, you may want to try building the GCC front end from source. This is -much easier now than it was in the past.
+To install binutils on Windows:
+ +The binary versions of the LLVM GCC front end may not suit all of your needs. For +example, the binary distribution may include an old version of a system header +file, not "fix" a header file that needs to be fixed for GCC, or it may be linked with +libraries not available on your system. In cases like these, you may want to try +building the GCC front end from source. Thankfully, +this is much easier now than it was in the past.
+ +We also do not currently support updating of the GCC front end by manually overlaying +newer versions of the w32api and mingw-runtime binary packages that may become available +from MinGW. At this time, it's best to think of the MinGW LLVM GCC front end binary as +a self-contained convenience package that requires Windows users to simply download and +uncompress the GNU Binutils binary package from the MinGW project.
+ +Regardless of your platform, if you discover that installing the LLVM GCC front end +binaries is not as easy as previously described, or you would like to suggest improvements, +please let us know how you would like to see things improved by dropping us a note on our +mailing list.
$ mount -t binfmt_misc none /proc/sys/fs/binfmt_misc -$ echo ':llvm:M::llvm::/path/to/lli:' > /proc/sys/fs/binfmt_misc/register +$ echo ':llvm:M::BC::/path/to/lli:' > /proc/sys/fs/binfmt_misc/register $ chmod u+x hello.bc (if needed) $ ./hello.bc
-This allows you to execute LLVM bitcode files directly. Thanks to Jack -Cummings for pointing this out! +This allows you to execute LLVM bitcode files directly. On Debian, you +can also use this command instead of the 'echo' command above:
++$ sudo update-binfmts --install llvm /path/to/lli --magic 'BC' +
This is not a directory in the normal llvm module; it is a separate Subversion @@ -1331,7 +1380,7 @@ end to compile.
The tools directory contains the executables built out of the libraries above, which form the main part of the user interface. You can -always get help for a tool by typing tool_name --help. The +always get help for a tool by typing tool_name -help. The following is a brief introduction to the most important tools. More detailed information is in the Command Guide.
@@ -1370,7 +1419,7 @@ information is in the Command Guide.This directory contains build scripts and project files for use with - Visual C++. This allows developers on Windows to build LLVM without the need - for Cygwin. The contents of this directory should be considered experimental - at this time. -
-