mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
more changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57470 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f301387a36
commit
eeb4da0f69
@ -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>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user