diff options
Diffstat (limited to 'docs/tutorial/OCamlLangImpl8.html')
-rw-r--r-- | docs/tutorial/OCamlLangImpl8.html | 50 |
1 files changed, 22 insertions, 28 deletions
diff --git a/docs/tutorial/OCamlLangImpl8.html b/docs/tutorial/OCamlLangImpl8.html index 64a6200..eed8c03 100644 --- a/docs/tutorial/OCamlLangImpl8.html +++ b/docs/tutorial/OCamlLangImpl8.html @@ -11,8 +11,7 @@ <body> -<div class="doc_title">Kaleidoscope: Conclusion and other useful LLVM - tidbits</div> +<h1>Kaleidoscope: Conclusion and other useful LLVM tidbits</h1> <ul> <li><a href="index.html">Up to Tutorial Index</a></li> @@ -43,10 +42,10 @@ </div> <!-- *********************************************************************** --> -<div class="doc_section"><a name="conclusion">Tutorial Conclusion</a></div> +<h2><a name="conclusion">Tutorial Conclusion</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p>Welcome to the the final chapter of the "<a href="index.html">Implementing a language with LLVM</a>" tutorial. In the course of this tutorial, we have grown @@ -154,23 +153,19 @@ are very useful if you want to take advantage of LLVM's capabilities.</p> </div> <!-- *********************************************************************** --> -<div class="doc_section"><a name="llvmirproperties">Properties of the LLVM -IR</a></div> +<h2><a name="llvmirproperties">Properties of the LLVM IR</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p>We have a couple common questions about code in the LLVM IR form - lets just get these out of the way right now, shall we?</p> -</div> - <!-- ======================================================================= --> -<div class="doc_subsubsection"><a name="targetindep">Target -Independence</a></div> +<h4><a name="targetindep">Target Independence</a></h4> <!-- ======================================================================= --> -<div class="doc_text"> +<div> <p>Kaleidoscope is an example of a "portable language": any program written in Kaleidoscope will work the same way on any target that it runs on. Many other @@ -221,10 +216,10 @@ in-kernel language.</p> </div> <!-- ======================================================================= --> -<div class="doc_subsubsection"><a name="safety">Safety Guarantees</a></div> +<h4><a name="safety">Safety Guarantees</a></h4> <!-- ======================================================================= --> -<div class="doc_text"> +<div> <p>Many of the languages above are also "safe" languages: it is impossible for a program written in Java to corrupt its address space and crash the process @@ -243,11 +238,10 @@ list</a> if you are interested in more details.</p> </div> <!-- ======================================================================= --> -<div class="doc_subsubsection"><a name="langspecific">Language-Specific -Optimizations</a></div> +<h4><a name="langspecific">Language-Specific Optimizations</a></h4> <!-- ======================================================================= --> -<div class="doc_text"> +<div> <p>One thing about LLVM that turns off many people is that it does not solve all the world's problems in one system (sorry 'world hunger', someone else will have @@ -297,24 +291,23 @@ language-specific AST. </div> +</div> + <!-- *********************************************************************** --> -<div class="doc_section"><a name="tipsandtricks">Tips and Tricks</a></div> +<h2><a name="tipsandtricks">Tips and Tricks</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p>There is a variety of useful tips and tricks that you come to know after working on/with LLVM that aren't obvious at first glance. Instead of letting everyone rediscover them, this section talks about some of these issues.</p> -</div> - <!-- ======================================================================= --> -<div class="doc_subsubsection"><a name="offsetofsizeof">Implementing portable -offsetof/sizeof</a></div> +<h4><a name="offsetofsizeof">Implementing portable offsetof/sizeof</a></h4> <!-- ======================================================================= --> -<div class="doc_text"> +<div> <p>One interesting thing that comes up, if you are trying to keep the code generated by your compiler "target independent", is that you often need to know @@ -331,11 +324,10 @@ in a portable way.</p> </div> <!-- ======================================================================= --> -<div class="doc_subsubsection"><a name="gcstack">Garbage Collected -Stack Frames</a></div> +<h4><a name="gcstack">Garbage Collected Stack Frames</a></h4> <!-- ======================================================================= --> -<div class="doc_text"> +<div> <p>Some languages want to explicitly manage their stack frames, often so that they are garbage collected or to allow easy implementation of closures. There @@ -349,6 +341,8 @@ Passing Style</a> and the use of tail calls (which LLVM also supports).</p> </div> +</div> + <!-- *********************************************************************** --> <hr> <address> @@ -358,7 +352,7 @@ Passing Style</a> and the use of tail calls (which LLVM also supports).</p> src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a> <a href="mailto:sabre@nondot.org">Chris Lattner</a><br> - <a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br> + <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a><br> Last modified: $Date$ </address> </body> |