X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FGettingStartedVS.html;h=05803780a84ceb03a16c8ecb51858ab5df73fdd2;hb=343013538f72f2202338f57161c0bd92344ca407;hp=15b31b011fa7c654eec16717955a27140053fa55;hpb=b3c11009d06b71ee3cfdd568fdbb8e8895ffd34c;p=oota-llvm.git diff --git a/docs/GettingStartedVS.html b/docs/GettingStartedVS.html index 15b31b011fa..05803780a84 100644 --- a/docs/GettingStartedVS.html +++ b/docs/GettingStartedVS.html @@ -57,7 +57,7 @@

To emphasize, there is no C/C++ front end currently available. llvm-gcc is based on GCC, which cannot be bootstrapped using VC++. Eventually there should be a llvm-gcc based on Cygwin or MinGW that - is usable. There is also the option of generating bytecode files on Unix and + is usable. There is also the option of generating bitcode files on Unix and copying them over to Windows. But be aware the odds of linking C++ code compiled with llvm-gcc with code compiled with VC++ is essentially zero.

@@ -99,16 +99,13 @@
  • cd llvm
  • -
  • With anonymous CVS access: +
  • With anonymous Subversion access:
    1. cd where-you-want-llvm-to-live
    2. -
    3. cvs -d - :pserver:anon@llvm-cvs.cs.uiuc.edu:/var/cvs/llvm login
    4. -
    5. Hit the return key when prompted for the password. -
    6. cvs -z3 -d :pserver:anon@llvm-cvs.cs.uiuc.edu:/var/cvs/llvm - co llvm
    7. +
    8. svn co http://llvm.org/svn/llvm-project/llvm-top/trunk llvm-top +
    9. +
    10. make checkout MODULE=llvm
    11. cd llvm
    12. -
    13. cvs up -P -d
  • @@ -128,8 +125,8 @@ -

    It is strongly encouraged that you get the latest version from CVS. Much -progress has been made since the 1.4 release.

    +

    It is strongly encouraged that you get the latest version from Subversion as +changes are continually making the VS support better.

    @@ -257,27 +254,27 @@ All these paths are absolute:

    } -
  • Next, compile the C file into a LLVM bytecode file:

    -

    % llvm-gcc hello.c -o hello

    +
  • Next, compile the C file into a LLVM bitcode file:

    +

    % llvm-gcc -c 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 + bitcode 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.

  • + Unix system and transfer hello.bc to Windows. Important: + transfer as a binary file!

  • Run the program using the just-in-time compiler:

    % lli hello.bc

  • +

    Note: this will only work for trivial C programs. Non-trivial programs + (and any C++ program) will have dependencies on the GCC runtime that + won't be satisfied by the Microsoft runtime libraries.

    +
  • Use the llvm-dis utility to take a look at the LLVM assembly code:

    @@ -291,6 +288,10 @@ All these paths are absolute:

    % cl hello.cbe.c

  • +

    Note: this will only work for trivial C programs. Non-trivial programs + (and any C++ program) will have dependencies on the GCC runtime that + won't be satisfied by the Microsoft runtime libraries.

    +
  • Execute the native code program:

    % hello.cbe.exe