Add a faq entry for the demo page
authorChris Lattner <sabre@nondot.org>
Tue, 16 Dec 2003 22:33:55 +0000 (22:33 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 16 Dec 2003 22:33:55 +0000 (22:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10488 91177308-0d34-0410-b5e6-96231b3b80d8

docs/FAQ.html

index 79d2112c5853d575be2f63df786673ed20f74b90..cc5d91c06af22f209089cc1913b88345968746a5 100644 (file)
@@ -70,6 +70,7 @@
   <ol>
      <li>What is this <tt>__main()</tt> call that gets inserted into
          <tt>main()</tt>?</li>
+     <li>Where did all of my code go??</li>
   </ol>
   </li>
 </ol>
@@ -406,11 +407,9 @@ directory inside of the LLVM GCC distribution.
   <a name="cfe_code">Questions about code generated by the GCC front-end</a>
 </div>
 
-<div class="question">
-<p>
+<div class="question"><p>
 What is this <tt>__main()</tt> call that gets inserted into <tt>main()</tt>?
-</p>
-</div>
+</p></div>
 
 <div class="answer">
 <p>
@@ -426,10 +425,29 @@ The actual implementation of <tt>__main</tt> lives in the
 <tt>llvm/runtime/GCCLibraries/crtend/</tt> directory in the source-base, and is
 linked in automatically when you link the program.
 </p>
-
 </div>
 
+<!--=========================================================================-->
+
+<div class="question"><p>
+Where did all of my code go??
+</p></div>
 
+<div class="answer">
+<p>
+If you are using the LLVM demo page, you may often wonder what happened to all
+of the code that you typed in.  Remember that the demo script is running the
+code through the LLVM optimizers, so if you code doesn't actually do anything
+useful, it might all be deleted.
+</p>
+
+<p>
+To prevent this, make sure that the code is actually needed.  For example, if
+you are computing some expression, return the value from the function instead of
+leaving it in a local variable.  If you really want to constrain the optimizer,
+you can read from and assign to <tt>volatile</tt> global variables.
+</p>
+</div>
 
 <!-- *********************************************************************** -->
 <!-- *********************************************************************** -->