mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-29 06:30:39 +00:00
add some more notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57423 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
75d53d6bd0
commit
547a3913c5
@ -24,8 +24,6 @@
|
||||
<p>Written by the <a href="http://llvm.org">LLVM Team</a><p>
|
||||
</div>
|
||||
|
||||
<!-- Done through Week-of-Mon-20080324.txt -->
|
||||
|
||||
<!-- *********************************************************************** -->
|
||||
<div class="doc_section">
|
||||
<a name="intro">Introduction</a>
|
||||
@ -70,7 +68,14 @@ It includes a large number of features and refinements from LLVM 2.3.</p>
|
||||
Machine LICM
|
||||
Machine Sinking
|
||||
LegalizeDAGTypes
|
||||
llc -enable-value-prop, propagation of value info (sign/zero ext info) from
|
||||
one MBB to another
|
||||
-->
|
||||
|
||||
<!-- for announcement email:
|
||||
mention dev mtg
|
||||
Xcode 3.1.1?
|
||||
-->
|
||||
|
||||
<!--=========================================================================-->
|
||||
<div class="doc_subsection">
|
||||
@ -79,7 +84,11 @@ It includes a large number of features and refinements from LLVM 2.3.</p>
|
||||
|
||||
<div class="doc_text">
|
||||
|
||||
<p>....</p>
|
||||
<p>The LLVM IR generated by llvm-gcc now doesn't name instructions. Use the
|
||||
instnamer pass if you want them.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<p>LLVM API Changes:</p>
|
||||
|
||||
@ -94,6 +103,8 @@ 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>Various header files like "llvm/ADT/iterator" were given a .h suffix.
|
||||
Change your code to #include "llvm/ADT/iterator.h" instead.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@ -182,14 +193,14 @@ this section.
|
||||
is gone.</p>
|
||||
</li>
|
||||
|
||||
<li><p>fast isel, -O0 compile times</p></li>
|
||||
<li><p>-O0 compile times overall much faster</p></li>
|
||||
|
||||
<li><p>Attrs changes?</p></li>
|
||||
|
||||
|
||||
<li><p>Initial PIC16 port</p></li>
|
||||
|
||||
<li><p> builtin sync_compare_and_swap builtins + intrinsics</p></li>
|
||||
<li><p> Support the rest of the atomic __sync builtins</p></li>
|
||||
|
||||
<li><p>...</p></li>
|
||||
|
||||
@ -230,7 +241,7 @@ for the C, C++, Objective-C, Ada, and Fortran front-ends.</p>
|
||||
<li>use diet patch landed: saved 15% IR memory footprint</li>
|
||||
<li>LLVM IR now directly represents "common" linkage, instead of
|
||||
representing it as a form of weak linkage.</li>
|
||||
|
||||
<li>DebugInfoBuilder</li>
|
||||
<li>...</li>
|
||||
</ul>
|
||||
|
||||
@ -248,6 +259,10 @@ LLVM 2.4 optimizers support a few major enhancements:</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>GVN now does local PRE?</li>
|
||||
|
||||
<li>Matthijs' Dead argument elimination rewrite</li>
|
||||
|
||||
<li>Old-ADCE used control dependence and deleted output-free infinite loops.
|
||||
Added a new Loop deletion pass (for deleting output free provably-finite loops)
|
||||
and rewrote ADCE to be simpler faster, and not need control dependence.</li>
|
||||
@ -258,6 +273,10 @@ and rewrote ADCE to be simpler faster, and not need control dependence.</li>
|
||||
|
||||
<li>Tail duplication was is removed from the standard optimizer sequence.</li>
|
||||
|
||||
<li>Various helper functions (ComputeMaskedBits, ComputeNumSignBits, etc) were
|
||||
pulled out of instcombine and put into a new ValueTracking.h file, where they
|
||||
can be reused by other passes.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
@ -274,7 +293,15 @@ which allows us to implement more aggressive algorithms and make it run
|
||||
faster:</p>
|
||||
|
||||
<ul>
|
||||
<li>2-addr pass can now remat trivial insts to avoid a copy.</li>
|
||||
<li>spiller to commute instructions in order to fold a reload</li>
|
||||
<li>Stack slot coloring?</li>
|
||||
<li>Live intervals renumbering? Is this useful to external people?</li>
|
||||
<li>'is as cheap as a move' instruction flag</li>
|
||||
<li>Improvements to selection dag viewing</li>
|
||||
<li>fast isel</li>
|
||||
<li>Selection dag speedups</li>
|
||||
<li>asmwriter + raw_ostream -> fastah</li>
|
||||
<li>...</li>
|
||||
|
||||
</ul>
|
||||
@ -292,7 +319,8 @@ faster:</p>
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Exception handling is supported by default on x86-64 linux platform.</li>
|
||||
<li>Exception handling is supported by default on Linux/x86-64.</li>
|
||||
<li>Position Independent Code (PIC) is now support on Linux/x86-64.</li>
|
||||
<li>...</li>
|
||||
|
||||
</ul>
|
||||
@ -326,6 +354,7 @@ faster:</p>
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>raw_ostream + formatting</li>
|
||||
<li>...</li>
|
||||
</ul>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user