<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>
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">
<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>
"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>
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>
<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>
<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>
<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>
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>
</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>
</p>
<ul>
+<li>raw_ostream + formatting</li>
<li>...</li>
</ul>