From: Jeff Cohen
Next, compile the C file into a LLVM bytecode file:
-% llvm-gcc hello.c -emit-llvm -o hello.bc
+% llvm-gcc -c hello.c -emit-llvm -o hello.bc
This will create the result file hello.bc which is the LLVM bytecode that corresponds the the compiled program and the library @@ -267,12 +267,17 @@ All these paths are absolute:
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.
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:
@@ -286,6 +291,11 @@ 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. Currently, it + doesn't even work for trivial C programs such as the one above.
+Execute the native code program:
% hello.cbe.exe