more englishification

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65799 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2009-03-02 03:24:11 +00:00
parent 917cc71ae1
commit 511433e7cf

View File

@ -419,7 +419,7 @@ several ways, including adding shadow induction variables to avoid
<!--=========================================================================--> <!--=========================================================================-->
<div class="doc_subsection"> <div class="doc_subsection">
<a name="codegen">Code Generator Improvements</a> <a name="codegen">Target Independent Code Generator Improvements</a>
</div> </div>
<div class="doc_text"> <div class="doc_text">
@ -429,27 +429,34 @@ infrastructure, which allows us to implement more aggressive algorithms and make
it run faster:</p> it run faster:</p>
<ul> <ul>
<li>The type legalization logic has been completely rewritten, and is now <li>The <a href="WritingAnLLVMBackend.html">Writing an LLVM Compiler
more powerful (it supports arbitrary precision integer types for example) Backend</a> document has been greatly expanded and is substantially more
and hopefully more correct. complete.</li>
The type legalizer converts operations on types that are not natively
supported by the target machine into equivalent code sequences that only use <li>The SelectionDAG type legalization logic has been completely rewritten, is
natively supported types. now more powerful (it supports arbitrary precision integer types for example),
The old type legalizer is still available and will be used if and more correct in several corner cases. The type legalizer converts
<tt>-disable-legalize-types</tt> is passed to <tt>llc</tt>. operations on types that are not natively supported by the target machine into
equivalent code sequences that only use natively supported types. The old type
legalizer is still available (for now) and will be used if
<tt>-disable-legalize-types</tt> is passed to the code generator.
</li> </li>
<li>?</li>
<li>The code generator now supports widening illegal vectors to larger legal
ones (for example, converting operations on &lt;3 x float&gt; to work on
&lt;4 x float&gt;) which is very important for common graphics
applications.</li>
how to write a backend doc docs/WritingAnLLVMBackend.html <li>The assembly printers for each target are now split out into their own
asmprinters seperate from targets for jits libraries that are separate from the main code generation logic. This reduces
fastisel + exception handling code size of JIT compilers by not requiring them to be linked in.</li>
vector widening <3 x float> -> <4 x float>
PBQP register allocator now supports register coalescing.
<li>The 'fast' instruction selection path (used at -O0 and for fast JIT
compilers) now supports accelerating codegen for code that uses exception
handling constructs.</li>
<li>The optional PBQP register allocator now supports register coalescing.</li>
</ul> </ul>
</div> </div>
<!--=========================================================================--> <!--=========================================================================-->
@ -462,14 +469,34 @@ PBQP register allocator now supports register coalescing.
</p> </p>
<ul> <ul>
non-zero __builtin_return_address values on X86. <li>The "<a href="LangRef.html#int_returnaddress">llvm.returnaddress</a>"
vector shift support + X86 backend. intrinsic (which is used to implement "__builtin_return_address") now supports
x86 JIT now detects core i7 and atom, autoconfiguring itself appropriately. non-zero stack depths on X86.</li>
x86-64 now uses red zone (unless -mno-red-zone option is specified).
x86 backend GS segment -> addr space 256 (r62980) <li>The X86 backend now supports code generation of vector shift operations
X86 backend now supports -disable-mmx. using SSE instructions.</li>
JIT supports exceptions on linux/x86-64 and linux/x86-64.
JIT TLS support on x86-32 but not x86-64. <li>X86-64 code generation now takes advantage of red zone (unless
-mno-red-zone option is specified).</li>
<li>The X86 backend now supports using address space #256 in LLVM IR as a way of
performing memory references off the GS segment register. This allows a
front-end to take advantage of very low-level programming techniques when
targetting X86 CPUs. See test/CodeGen/X86/movgs.ll for a simple example.</li>
<li>The X86 backend now supports a <tt>-disable-mmx</tt> command line option to
prevent use of MMX even on chips that support it. This is important for cases
where code does not contain the proper "llvm.x86.mmx.emms" intrinsics.</li>
<li>The X86 JIT now detects the new Intel "<a
href="http://en.wikipedia.org/wiki/Intel_Core_i7">Core i7</a>" and <a
href="http://en.wikipedia.org/wiki/Intel_Atom">Atom</a>" chips,
auto-configuring itself appropriately for the features of these chips.</li>
<li>The JIT now supports exception handling constructs on Linux/X86-64 and
Darwin/x86-64.</li>
<li>The JIT supports Thread Local Storage (TLS) on Linux/X86-32 but not yet on
X86-64.</li>
</ul> </ul>
@ -502,7 +529,7 @@ types.</li>
<li>Passing/returning aggregate types to/from functions.</li> <li>Passing/returning aggregate types to/from functions.</li>
<li>Variable arguments.</li> <li>Variable arguments.</li>
<li>Indirect function calls.</li> <li>Indirect function calls.</li>
<li>Interrupts/prgrams.</li> <li>Interrupts/programs.</li>
<li>Debug info.</li> <li>Debug info.</li>
</li> </li>
</ul> </ul>
@ -510,21 +537,6 @@ types.</li>
</div> </div>
<!--=========================================================================-->
<div class="doc_subsection">
<a name="othertargetspecific">Other Target Specific Improvements</a>
</div>
<div class="doc_text">
<p>New target-specific features include:
</p>
<ul>
<li>?</li>
</ul>
</div>
<!--=========================================================================--> <!--=========================================================================-->
<div class="doc_subsection"> <div class="doc_subsection">
<a name="llvmc">Improvements in LLVMC</a> <a name="llvmc">Improvements in LLVMC</a>
@ -600,7 +612,7 @@ from the previous release.</p>
<ul> <ul>
<li>llvm-gcc defaults to -fno-math-errno on all x86 targets.</li> <li>llvm-gcc defaults to -fno-math-errno on all X86 targets.</li>
</ul> </ul>