From: Misha Brukman Date: Mon, 11 Aug 2003 18:45:46 +0000 (+0000) Subject: * Added a section describing the hidden gems in llvm/utils X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=c103adf37de7407f3eebcfeb4b4e0237b1b75da9;p=oota-llvm.git * Added a section describing the hidden gems in llvm/utils * Converted some tabs to spaces * Made lines fit within 80 columns git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7735 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/GettingStarted.html b/docs/GettingStarted.html index a34437a7dec..bc6d7474afa 100644 --- a/docs/GettingStarted.html +++ b/docs/GettingStarted.html @@ -8,7 +8,8 @@

Getting Started with the LLVM System
By: Guochun Shi, Chris Lattner, - John Criswell, and + John Criswell, + Misha Brukman, and Vikram Adve

@@ -38,13 +39,14 @@
  • The Location of LLVM Object Files
  • Program layout -
      -
    1. CVS directories -
    2. llvm/include -
    3. llvm/lib -
    4. llvm/test -
    5. llvm/tools -
    +
      +
    1. CVS directories +
    2. llvm/include +
    3. llvm/lib +
    4. llvm/test +
    5. llvm/tools +
    6. llvm/utils +
  • Compiling the LLVM C Front End
  • An Example Using the LLVM Tool Chain
  • Common Problems @@ -247,7 +249,8 @@
    1. cd where-you-want-llvm-to-live
    2. gunzip --stdout llvm.tar.gz | tar -xvf - -
    3. gunzip --stdout cfrontend.platform.tar.gz | tar -xvf - +
    4. gunzip --stdout cfrontend.platform.tar.gz | tar + -xvf -
    5. cd llvm
    @@ -255,7 +258,8 @@
  • With anonymous CVS access:
      -
    1. Find the path to the CVS repository containing LLVM (we'll call this CVSROOTDIR). +
    2. Find the path to the CVS repository containing LLVM (we'll + call this CVSROOTDIR).
    3. cd where-you-want-llvm-to-live
    4. cvs -d CVSROOTDIR checkout llvm
    5. cd llvm @@ -273,7 +277,8 @@
      • --with-objroot=directory
        - Specify where object files should be placed during the build. + Specify where object files should be placed during the + build.
      • --with-llvmgccdir=directory
        @@ -872,6 +877,72 @@ + +

        llvm/utils

        + + + This directory contains utilities for working with LLVM sourcecode, and some + of the utilities are actually required as part of the build process because + they are code generators for parts of LLVM infrastructure. + +
        + Burg
        Burg is an instruction selector + generator -- it builds trees on which it then performs pattern-matching to + select instructions according to the patterns the user has specified. Burg + is currently used in the Sparc V9 backend.

        + +

        codegen-diff
        codegen-diff is a script + that finds differences between code that LLC generates and code that LLI + generates. This is a useful tool if you are debugging one of them, + assuming that the other generates correct output. For the full user + manual, run `perldoc codegen-diff'.

        + +

        cvsupdate
        cvsupdate is a script that will + update your CVS tree, but produce a much cleaner and more organized output + than simply running `cvs up -dP' will. For example, it will group + together all the new and updated files and modified files in separate + sections, so you can see at a glance what has changed. If you are at the + top of your LLVM CVS tree, running utils/cvsupdate is the + preferred way of updating the tree.

        + +

        emacs
        The emacs directory contains + syntax-highlighting files which will work with Emacs and XEmacs editors, + providing syntax highlighting support for LLVM assembly files and TableGen + description files.

        + +

        getsrcs.sh
        The getsrcs.sh script finds + and outputs all non-generated source files, which is useful if one wishes + to do a lot of development across directories and does not want to + individually find each file. One way to use it is to run, for example: + xemacs `utils/getsources.sh` from the top of your LLVM source + tree.

        + +

        makellvm
        The makellvm script compiles all + files in the current directory and then compiles and links the tool that + is the first argument. For example, assuming you are in the directory + llvm/lib/Target/Sparc, if makellvm is in your path, + simply running makellvm llc will make a build of the current + directory, switch to directory llvm/tools/llc and build it, + causing a re-linking of LLC.

        + +

        NightlyTest.pl and + NightlyTestTemplate.html
        These files are used in a + cron script to generate nightly status reports of the functionality of + tools, and the results can be seen by following the appropriate link on + the LLVM homepage.

        + +

        TableGen
        The TableGen directory contains + the tool used to generate register descriptions, instruction set + descriptins, and even assemblers from common TableGen description + files.

        + +

        vim
        The vim directory contains + syntax-highlighting files which will work with the VIM editor, providing + syntax highlighting support for LLVM assembly files and TableGen + description files.

        + +

        +

        Compiling the LLVM C Front End