Using llc always rather than sometimes using LLC.

Try to improve language in various places.  Use
X86 always rather than sometimes using x86.  Add
some minor Ada info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52095 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan Sands 2008-06-08 20:18:35 +00:00
parent 47eff2be9a
commit 27aff8755b

View File

@ -96,7 +96,7 @@ test suite no longer depends on llvm-upgrade, which makes it run faster.</p>
IRBuilder.</li> IRBuilder.</li>
<li>MRegisterInfo was renamed to TargetRegisterInfo.</li> <li>MRegisterInfo was renamed to TargetRegisterInfo.</li>
<li>The MappedFile class is gone, please use MemoryBuffer instead.</li> <li>The MappedFile class is gone, please use MemoryBuffer instead.</li>
<li>The '-enable-eh' flag to LLC has been removed. Now code should encode <li>The '-enable-eh' flag to llc has been removed. Now code should encode
whether it is safe to not generate unwind information for a function by whether it is safe to not generate unwind information for a function by
tagging the Function object with the 'nounwind' attribute.</li> tagging the Function object with the 'nounwind' attribute.</li>
@ -113,12 +113,12 @@ test suite no longer depends on llvm-upgrade, which makes it run faster.</p>
<p>LLVM 2.3 includes several major new capabilities:</p> <p>LLVM 2.3 includes several major new capabilities:</p>
<ul> <ul>
<li>Multiple Return Value Support</li> <li>Multiple Return Value Support.</li>
<li><p>LLVM 2.3 includes a complete reimplementation of the "llvmc" tool. It is <li><p>LLVM 2.3 includes a complete reimplementation of the "llvmc" tool. It is
designed to overcome several problems of the original llvmc and to provide a designed to overcome several problems with the original llvmc and to provide a
superset of the features as the 'gcc' driver.</p> superset of the features of the 'gcc' driver.</p>
<p>The main features of llvmc2 is:</p> <p>The main features of llvmc2 is:</p>
@ -140,7 +140,7 @@ no runtime interpretation is needed.</li>
C.</li> C.</li>
<li>kaleidoscope tutorial in ocaml.</li> <li>Kaleidoscope tutorial in Ocaml.</li>
</ul> </ul>
@ -154,7 +154,7 @@ no runtime interpretation is needed.</li>
<div class="doc_text"> <div class="doc_text">
<p>LLVM 2.3 fully supports llvm-gcc 4.2 front-end.</p> <p>LLVM 2.3 fully supports the llvm-gcc 4.2 front-end.</p>
<p>llvm-gcc 4.2 includes numerous fixes to better support the Objective-C <p>llvm-gcc 4.2 includes numerous fixes to better support the Objective-C
front-end. Objective-C now works very well on Mac OS/X.</p> front-end. Objective-C now works very well on Mac OS/X.</p>
@ -225,10 +225,10 @@ for (i = LB; i < NUB; ++i)
</pre> </pre>
</li> </li>
<li>LLVM includes a new <tt>memcpy</tt> optimization pass which optimizes out <li>LLVM includes a new <tt>memcpy</tt> optimization pass removes
dead <tt>memcpy</tt> calls, unneeded copies of aggregates, and handles the dead <tt>memcpy</tt> calls, unneeded copies of aggregates, and performs
return slot optimization. The LLVM optimizer now notices long sequences of return slot optimization. The LLVM optimizer now notices long sequences of
consecutive stores and merges them into <tt>memcpy</tt>s where profitable.</li> consecutive stores and merges them into <tt>memcpy</tt>'s where profitable.</li>
<li>Alignment detection for vector memory references and for <tt>memcpy</tt> and <li>Alignment detection for vector memory references and for <tt>memcpy</tt> and
<tt>memset</tt> is now more aggressive.</li> <tt>memset</tt> is now more aggressive.</li>
@ -245,13 +245,12 @@ deletion pass, which <em>is</em> safe for infinite loops.</li>
functions for C-based languages, has been rewritten to be a FunctionPass functions for C-based languages, has been rewritten to be a FunctionPass
instead a ModulePass. This allows it to be run more often and to be instead a ModulePass. This allows it to be run more often and to be
included at -O1 in llvm-gcc. It was also extended to include more included at -O1 in llvm-gcc. It was also extended to include more
optimizations and several corner case bugs are fixed.</li> optimizations and several corner case bugs were fixed.</li>
<li>LLVM now includes a simple 'Jump Threading' pass, which attempts to simplify <li>LLVM now includes a simple 'Jump Threading' pass, which attempts to simplify
the conditional branches with information about predecessor blocks. This conditional branches using information about predecessor blocks, simplifying
simplifies the control flow graph. This pass is pretty basic at this point, the control flow graph. This pass is pretty basic at this point, but catches
but catches some important cases and provides a foundation to build off some important cases and provides a foundation to build on.</li>
of.</li>
</ul> </ul>
</div> </div>
@ -328,12 +327,12 @@ faster:</p>
registers.</li> registers.</li>
<li>Trampolines (taking the address of a nested function) now work on <li>Trampolines (taking the address of a nested function) now work on
Linux/x86-64.</li> Linux/X86-64.</li>
<li><tt>__builtin_prefetch</tt> is now compiled into the appropriate prefetch <li><tt>__builtin_prefetch</tt> is now compiled into the appropriate prefetch
instructions instead of being ignored.</li> instructions instead of being ignored.</li>
<li>128-bit integers are now supported on x86-64 targets.</li> <li>128-bit integers are now supported on X86-64 targets.</li>
<li>The register allocator can now rematerialize PIC-base computations.</li> <li>The register allocator can now rematerialize PIC-base computations.</li>
@ -439,7 +438,7 @@ href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVMdev list</a>.</p>
<ul> <ul>
<li>The MSIL, IA64, Alpha, SPU, and MIPS backends are experimental.</li> <li>The MSIL, IA64, Alpha, SPU, and MIPS backends are experimental.</li>
<li>The LLC "<tt>-filetype=asm</tt>" (the default) is the only supported <li>The llc "<tt>-filetype=asm</tt>" (the default) is the only supported
value for this option.</li> value for this option.</li>
</ul> </ul>
@ -573,7 +572,7 @@ programs.</li>
inline assembly code</a>.</li> inline assembly code</a>.</li>
<li><a href="http://llvm.org/PR1658">The C backend violates the ABI of common <li><a href="http://llvm.org/PR1658">The C backend violates the ABI of common
C++ programs</a>, preventing intermixing between C++ compiled by the CBE and C++ programs</a>, preventing intermixing between C++ compiled by the CBE and
C++ code compiled with LLC or native compilers.</li> C++ code compiled with llc or native compilers.</li>
<li>The C backend does not support all exception handling constructs.</li> <li>The C backend does not support all exception handling constructs.</li>
</ul> </ul>
@ -597,8 +596,8 @@ llvmdev mailing list if you are interested.</p>
<p>The only major language feature of GCC not supported by llvm-gcc is <p>The only major language feature of GCC not supported by llvm-gcc is
the <tt>__builtin_apply</tt> family of builtins. However, some extensions the <tt>__builtin_apply</tt> family of builtins. However, some extensions
are only supported on some targets. For example, trampolines are only are only supported on some targets. For example, trampolines are only
supported on some targets, which are used when you take the address of a supported on some targets (these are used when you take the address of a
nested function.</p> nested function).</p>
<p>If you run into GCC extensions which are not supported, please let us know. <p>If you run into GCC extensions which are not supported, please let us know.
</p> </p>
@ -618,8 +617,8 @@ itself, Qt, Mozilla, etc.</p>
<ul> <ul>
<li>Exception handling works well on the X86 and PowerPC targets, including <li>Exception handling works well on the X86 and PowerPC targets, including
x86-64 darwin. This works when linking to a libstdc++ compiled by GCC. It is X86-64 darwin. This works when linking to a libstdc++ compiled by GCC. It is
supported on x86-64 linux, but that is disabled by default in this release.</li> supported on X86-64 linux, but that is disabled by default in this release.</li>
</ul> </ul>
</div> </div>
@ -634,15 +633,17 @@ supported on x86-64 linux, but that is disabled by default in this release.</li>
The llvm-gcc 4.2 Ada compiler works fairly well, however this is not a mature The llvm-gcc 4.2 Ada compiler works fairly well, however this is not a mature
technology and problems should be expected. technology and problems should be expected.
<ul> <ul>
<li>The Ada front-end currently only builds on x86-32. This is mainly due <li>The Ada front-end currently only builds on X86-32. This is mainly due
to lack of trampoline support (pointers to nested functions) on other platforms, to lack of trampoline support (pointers to nested functions) on other platforms,
however it <a href="http://llvm.org/PR2006">also fails to build on x86-64</a> however it <a href="http://llvm.org/PR2006">also fails to build on X86-64</a>
which does support trampolines.</li> which does support trampolines.</li>
<li>The Ada front-end <a href="http://llvm.org/PR2007">fails to bootstrap</a>. <li>The Ada front-end <a href="http://llvm.org/PR2007">fails to bootstrap</a>.
Workaround: configure with --disable-bootstrap.</li> Workaround: configure with --disable-bootstrap.</li>
<li>The c380004 and <a href="http://llvm.org/PR2010">c393010</a> ACATS tests <li>The c380004 and <a href="http://llvm.org/PR2010">c393010</a> ACATS tests
fail (c380004 also fails with gcc-4.2 mainline).</li> fail (c380004 also fails with gcc-4.2 mainline). When built at -O3, the
<li>Many gcc specific Ada tests continue to crash the compiler.</li> <a href="http://llvm.org/PR2421">cxg2021</a> ACATS test also fails.</li>
<li>Some gcc specific Ada tests continue to crash the compiler. The testsuite
reports most tests as having failed even though they pass.</li>
<li>The -E binder option (exception backtraces) <li>The -E binder option (exception backtraces)
<a href="http://llvm.org/PR1982">does not work</a> and will result in programs <a href="http://llvm.org/PR1982">does not work</a> and will result in programs
crashing if an exception is raised. Workaround: do not use -E.</li> crashing if an exception is raised. Workaround: do not use -E.</li>