diff --git a/docs/tutorial/JITTutorial1.html b/docs/tutorial/JITTutorial1.html index 5a2dcd0cbe1..9819c77e0b7 100644 --- a/docs/tutorial/JITTutorial1.html +++ b/docs/tutorial/JITTutorial1.html @@ -50,7 +50,18 @@ entry:

If you're unsure what the above code says, skim through the LLVM Language Reference Manual and convince yourself that the above LLVM IR is actually equivalent to the original function. Once you’re satisfied with that, let’s move on to actually generating it programmatically!

-

... STUFF ABOUT HEADERS ...

+

Of course, before we can start, we need to #include the appropriate LLVM header files:

+ +
+
+#include <llvm/Module.h>
+#include <llvm/Function.h>
+#include <llvm/PassManager.h>
+#include <llvm/Analysis/Verifier.h>
+#include <llvm/Assembly/PrintModulePass.h>
+#include <llvm/Support/LLVMBuilder.h>
+
+

Now, let’s get started on our real program. Here’s what our basic main() will look like:

@@ -153,9 +164,16 @@ Module* makeLLVMModule() {

The final step in creating our function is to create the instructions that make it up. Our mul_add function is composed of just three instructions: a multiply, an add, and a return. LLVMBuilder gives us a simple interface for constructing these instructions and appending them to the “entry” block. Each of the calls to LLVMBuilder returns a Value* that represents the value yielded by the instruction. You’ll also notice that, above, x, y, and z are also Value*’s, so it’s clear that instructions operate on Value*’s.

-

And that’s it! Now you can compile and run your code, and get a wonder textual print out of the LLVM IR we saw at the beginning.

+

And that’s it! Now you can compile and run your code, and get a wonderful textual print out of the LLVM IR we saw at the beginning. To compile, use the following commandline as a guide:

-

... SECTION ABOUT USING llvm-config TO GET THE NECESSARY COMPILER FLAGS TO COMPILE YOUR CODE ...

+
+
+# c++ -g tut2.cpp `llvm-config --cppflags --ldflags --libs core` -o tut2
+# ./tut2
+
+
+ +

The llvm-config utility is used to obtain the necessary GCC-compatible compiler flags for linking with LLVM. For this example, we only need the 'core' library. We'll use others once we start adding optimizers and the JIT engine.

diff --git a/docs/tutorial/JITTutorial2.html b/docs/tutorial/JITTutorial2.html index 56af0195d8f..63efd6af646 100644 --- a/docs/tutorial/JITTutorial2.html +++ b/docs/tutorial/JITTutorial2.html @@ -166,8 +166,7 @@ Module* makeLLVMModule() {
-# c++ -g tut2.cpp `llvm-config --cppflags` `llvm-config --ldflags` \
-                  `llvm-config --libs core` -o tut2
+# c++ -g tut2.cpp `llvm-config --cppflags --ldflags --libs core` -o tut2
 # ./tut2