mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-24 08:18:33 +00:00
add an entry, add links to entries for demo page.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20328 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -72,12 +72,13 @@
|
|||||||
|
|
||||||
<li><a href="#cfe_code">Questions about code generated by the GCC front-end</a>
|
<li><a href="#cfe_code">Questions about code generated by the GCC front-end</a>
|
||||||
<ol>
|
<ol>
|
||||||
<li>What is this <tt>__main()</tt> call that gets inserted into
|
<li><a href="#__main">What is this <tt>__main()</tt> call that gets inserted into
|
||||||
<tt>main()</tt>?</li>
|
<tt>main()</tt>?</a></li>
|
||||||
<li>Where did all of my code go??</li>
|
<li><a href="#iosinit">What is this <tt>llvm.global_ctors</tt> and
|
||||||
<li>What is this <tt>llvm.global_ctors</tt> and
|
|
||||||
<tt>_GLOBAL__I__tmp_webcompile...</tt> stuff that happens when I
|
<tt>_GLOBAL__I__tmp_webcompile...</tt> stuff that happens when I
|
||||||
#include <iostream>?</li>
|
#include <iostream>?</a></li>
|
||||||
|
<li><a href="#codedce">Where did all of my code go??</a></li>
|
||||||
|
<li><a href="#undef">What is this "<tt>undef</tt>" thing that shows up in my code?</a></li>
|
||||||
</ol>
|
</ol>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
@@ -448,6 +449,7 @@ correct this, do:</p>
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="question"><p>
|
<div class="question"><p>
|
||||||
|
<a name="__main"></a>
|
||||||
What is this <tt>__main()</tt> call that gets inserted into <tt>main()</tt>?
|
What is this <tt>__main()</tt> call that gets inserted into <tt>main()</tt>?
|
||||||
</p></div>
|
</p></div>
|
||||||
|
|
||||||
@@ -469,29 +471,8 @@ linked in automatically when you link the program.
|
|||||||
|
|
||||||
<!--=========================================================================-->
|
<!--=========================================================================-->
|
||||||
|
|
||||||
<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 your 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>
|
|
||||||
|
|
||||||
<!--=========================================================================-->
|
|
||||||
|
|
||||||
<div class="question">
|
<div class="question">
|
||||||
|
<a name="iosinit"></a>
|
||||||
<p> What is this <tt>llvm.global_ctors</tt> and
|
<p> What is this <tt>llvm.global_ctors</tt> and
|
||||||
<tt>_GLOBAL__I__tmp_webcompile...</tt> stuff that happens when I #include
|
<tt>_GLOBAL__I__tmp_webcompile...</tt> stuff that happens when I #include
|
||||||
<iostream>?</p>
|
<iostream>?</p>
|
||||||
@@ -520,6 +501,51 @@ instead of <tt>iostream</tt>s to print values.</p>
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!--=========================================================================-->
|
||||||
|
|
||||||
|
<div class="question"><p>
|
||||||
|
<a name="codedce"></a>
|
||||||
|
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 your 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>
|
||||||
|
|
||||||
|
<!--=========================================================================-->
|
||||||
|
|
||||||
|
<div class="question"><p>
|
||||||
|
<a name="undef"></a>
|
||||||
|
<p>What is this "<tt>undef</tt>" thing that shows up in my code?
|
||||||
|
</p></div>
|
||||||
|
|
||||||
|
<div class="answer">
|
||||||
|
<p>
|
||||||
|
<a href="LangRef.html#undef"><tt>undef</tt></a> is the LLVM way of representing
|
||||||
|
a value that is not defined. You can get these if you do not initialize a
|
||||||
|
variable before you use it. For example, the C function:</p>
|
||||||
|
|
||||||
|
<div class="doc_code">
|
||||||
|
<tt>int X() { int i; return i; }</tt>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>Is compiled to "<tt>ret int undef</tt>" because "i" never has a value
|
||||||
|
specified for it.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- *********************************************************************** -->
|
<!-- *********************************************************************** -->
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|||||||
Reference in New Issue
Block a user