more changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57470 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2008-10-13 22:06:31 +00:00
parent f301387a36
commit eeb4da0f69

View File

@ -368,7 +368,7 @@ faster:</p>
<!--=========================================================================-->
<div class="doc_subsection">
<a name="x86specific">X86/X86-64 Specific Improvements</a>
<a name="targetspecific">Target Specific Improvements</a>
</div>
<div class="doc_text">
@ -378,25 +378,8 @@ faster:</p>
<ul>
<li>Exception handling is supported by default on Linux/x86-64.</li>
<li>Position Independent Code (PIC) is now supported on Linux/x86-64.</li>
<li>...</li>
</ul>
</div>
<!--=========================================================================-->
<div class="doc_subsection">
<a name="targetspecific">Other Target Specific Improvements</a>
</div>
<div class="doc_text">
<p>New target-specific features include:
</p>
<ul>
<li>MIPS floating point support?</li>
<li>PowerPC now supports trampolines.</li>
<li>....</li>
<li>MIPS floating point support? [BRUNO]</li>
<li>The PowerPC backend now supports trampolines.</li>
</ul>
</div>
@ -413,11 +396,17 @@ faster:</p>
<ul>
<li><tt>llvmc2</tt> (the generic compiler driver) gained plugin
support. It is now easier to experiment with <tt>llvmc2</tt> and
build your own tools based on it. </li>
<li>raw_ostream + formatting</li>
<li>Recycler + pool allocation stuff?</li>
<li>...</li>
support. It is now easier to experiment with <tt>llvmc2</tt> and
build your own tools based on it.</li>
<li>LLVM 2.4 includes a number of new generic algorithms and data structures,
include a scoped hash table, 'immutable' data structures, and a
<tt>raw_ostream</tt> class. The <tt>raw_ostream</tt> class and
<tt>format</tt> allow for efficient file output, and various pieces of LLVM
have switched over to use it. The eventual goal is to eliminate
std::ostream in favor of it.</li>
<li>Recycler + pool allocation stuff? [DAN]</li>
</ul>
</div>
@ -429,27 +418,40 @@ faster:</p>
<div class="doc_text">
<p>If you're already an LLVM user, this section lists some "gotchas" that you
may run into upgrading from the previous release.</p>
<p>The LLVM IR generated by llvm-gcc no longer names all instructions.
Use the instnamer pass if you want everything named.</p>
<li>The LoadVN and GCSE passes have been removed.</li>
<p>LLVM API Changes:</p>
<p>If you're already an LLVM user or developer with out-of-tree changes based
on LLVM 2.3, this section lists some "gotchas" that you may run into upgrading
from the previous release.</p>
<ul>
<li>... Attributes changes ... </li>
<li>The LLVM IR generated by llvm-gcc no longer names all instructions. This
makes it run faster, but may be more confusing to some people. If you
prefer to have names, the '<tt>opt -instnamer</tt>' pass will add names to
all instructions.</li>
<li>The LoadVN and GCSE passes have been removed from the tree. They are
obsolete and have been replaced with the GVN and MemoryDependence passes.
</li>
</ul>
<p>In addition, many APIs have changed in this release. Some of the major LLVM
API changes are:</p>
<ul>
<li>Attributes changes [DEVANG] </li>
<li>The <tt>DbgStopPointInst</tt> methods <tt>getDirectory</tt> and
<tt>getFileName</tt> now return <tt>Value*</tt> instead of strings. These can be
converted to strings using <tt>llvm::GetConstantStringInfo</tt> defined via
"llvm/Analysis/ValueTracking.h".</li>
<li>API change: BinaryOperator::create -> Create (CmpInst, CastInst too)</li>
<li>The APIs to create various instructions have changed from lower case
"create" methods to upper case "Create" methods (e.g.
<tt>BinaryOperator::create</tt>). LLVM 2.4 includes both cases, but the
lower case ones are removed in mainline, please migrate.</li>
<li>Various header files like "llvm/ADT/iterator" were given a .h suffix.
Change your code to #include "llvm/ADT/iterator.h" instead.</li>