[llvm-commits] CVS: llvm/docs/ReleaseNotes.html
Chris Lattner
lattner at cs.uiuc.edu
Sun May 15 09:01:37 PDT 2005
Changes in directory llvm/docs:
ReleaseNotes.html updated: 1.321 -> 1.322
---
Log message:
add a sparcv8 section, make this validate
---
Diffs of the changes: (+27 -10)
ReleaseNotes.html | 37 +++++++++++++++++++++++++++----------
1 files changed, 27 insertions(+), 10 deletions(-)
Index: llvm/docs/ReleaseNotes.html
diff -u llvm/docs/ReleaseNotes.html:1.321 llvm/docs/ReleaseNotes.html:1.322
--- llvm/docs/ReleaseNotes.html:1.321 Sun May 15 10:33:21 2005
+++ llvm/docs/ReleaseNotes.html Sun May 15 11:01:20 2005
@@ -75,15 +75,15 @@
</div>
<!--_________________________________________________________________________-->
-<div class="doc_subsubsection"><a href="newcg">New Native Code
+<div class="doc_subsubsection"><a name="newcg">New Native Code
Generators</a></div>
<div class="doc_text">
<p>
This release includes new native code generators for <a
-href="#alpha-be">Alpha</a>, <a href="#ia64-be">IA-64</a>, and SPARC-V8 (32-bit
-SPARC). These code generators are still beta quality, but are progressing
-rapidly.
+href="#alpha-be">Alpha</a>, <a href="#ia64-be">IA-64</a>, and <a
+href="#sparcv8">SPARC-V8</a> (32-bit SPARC). These code generators are still
+beta quality, but are progressing rapidly.
</p>
</div>
@@ -138,7 +138,7 @@
features: custom calling conventions (described above), which allow the code
generator to emit code for the caller to deallocate its own stack when it
returns. The second feature is a flag on the <a href="LangRef.html#i_call">call
-instruction</a>, which indicates that the callee does not access the callers
+instruction</a>, which indicates that the callee does not access the caller's
stack frame (indicating that it is acceptable to deallocate the caller stack
before invoking the callee). LLVM proper tail calls run on the system stack (as
do normal calls), supports indirect tail calls, tail calls with arbitrary
@@ -153,12 +153,12 @@
to handle more general cases, but the simple case will always work if the code
generator supports tail calls. Here is a simple example:</p>
-<p><pre>
+<pre>
fastcc int %bar(int %X, int(double, int)* %FP) { ;<i> fastcc</i>
%Y = tail call fastcc int %FP(double 0.0, int %X) ;<i> tail, fastcc</i>
ret int %Y
}
-</pre></p>
+</pre>
<p>In LLVM 1.5, the X86 code generator is the only target that has been enhanced
to support proper tail calls (other targets will be enhanced in future).
@@ -167,7 +167,7 @@
will be enabled by default in the next release). The example above compiles to:
</p>
-<p><pre>
+<pre>
bar:
sub ESP, 8 # Callee uses more space than the caller
mov ECX, DWORD PTR [ESP + 8] # Get the old return address
@@ -175,7 +175,7 @@
mov DWORD PTR [ESP + 8], 0 # Second half of 0.0
mov DWORD PTR [ESP], ECX # Put the return address where it belongs
jmp EDX # Tail call "FP"
-</pre></p>
+</pre>
<p>
With fastcc on X86, the first two integer arguments are passed in EAX/EDX, the
@@ -728,6 +728,23 @@
</div>
+<!-- ======================================================================= -->
+<div class="doc_subsection">
+ <a name="sparcv8">Known problems with the SPARC-V8 back-end</a>
+</div>
+
+<div class="doc_text">
+
+<ul>
+<li>Many features are still missing (e.g. support for 64-bit integer
+arithmetic).</li>
+
+<li>This backend needs to be updated to use the SelectionDAG instruction
+selection framework.</li>
+</ul>
+
+</div>
+
<!-- *********************************************************************** -->
<div class="doc_section">
<a name="additionalinfo">Additional Information</a>
@@ -760,7 +777,7 @@
src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" /></a>
<a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br>
- Last modified: $Date: 2005/05/15 15:33:21 $
+ Last modified: $Date: 2005/05/15 16:01:20 $
</address>
</body>
More information about the llvm-commits
mailing list