<li>LLVM now includes an <a href="http://llvm.cs.uiuc.edu/PR415">
Interprocedural Sparse Conditional Constant Propagation</a> pass, named
-ipsccp, which is run by default at link-time.</li>
+ <li>LLVM 1.5 is now about 15% faster than LLVM 1.4 and its core data structures
+ use about 30% less memory.</li>
+ <li>LLVM includes new experimental native code generators for SparcV8,
+ Alpha, and IA64.</li>
+ <li>Support for Microsoft Visual Studio is improved, and <a
+ href="GettingStartedVS.html">now documented</a>.</li>
</ol>
</div>
<div class="doc_text">
<ol>
- <li></li>
+ <li>LLVM can now create native shared libraries with '<tt>llvm-gcc ...
+ -shared -Wl,-native</tt>' (or with <tt>-Wl,-native-cbe</tt>).</li>
+ <li>LLVM now supports a new "<a href="LangRef.html#i_prefetch">llvm.prefetch
+ </a>" intrinsic, and llvm-gcc now supports __builtin_prefetch.
</ol>
</div>
<div class="doc_text">
+
<p>Bugs fixed in the LLVM Core:</p>
+<ol>
+ <li><a href="http://llvm.cs.uiuc.edu/PR491">[dse] DSE deletes stores that
+ are partially overwritten by smaller stores</a></li>
+</ol>
+<p>Code Generator Bugs:</p>
<ol>
<li><a href="http://llvm.cs.uiuc.edu/PR490">[cbackend] Logical constant
expressions (and/or/xor) not implemented</a></li>
- <li><a href="http://llvm.cs.uiuc.edu/PR491">[dse] DSE deletes stores that
- are partially overwritten by smaller stores</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR511">[cbackend] C backend does not
+ respect 'volatile'</a></li>
</ol>
<p>Bugs in the C/C++ front-end:</p>
-
<ol>
<li><a href="http://llvm.cs.uiuc.edu/PR487">[llvmgcc] llvm-gcc incorrectly
rejects some constant initializers involving the addresses of array
elements</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR501">[llvm-g++] Crash compiling
+ anonymous union</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR509">[llvm-g++] Do not use dynamic
+ initialization where static init will do</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR510">[llvmgcc] Field offset
+ miscalculated for some structure fields following bit fields</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR513">[llvm-g++] Temporary lifetimes
+ incorrect for short circuit logical operations</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR517">[llvm-gcc] Crash compiling
+ bitfield <-> aggregate assignment</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR520">[llvm-g++] Error compiling
+ virtual function thunk with an unnamed argument</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR522">[llvm-gcc] Crash on certain
+ C99 complex number routines</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR529">[llvm-g++] Crash using placement
+ new on an array type</a></li>
</ol>
</div>
be used to step through programs and inspect the stack.</li>
<li>The "iterative scan" register allocator (enabled with -regalloc=iterativescan)
is not stable.</li>
+<li>The SparcV8, Alpha, and IA64 ports are experimental.</li>
</ul>
</div>
<tt>__builtin_types_compatible_p</tt>, <tt>__builtin_choose_expr</tt>,
<tt>__builtin_constant_p</tt>, and <tt>__builtin_expect</tt>
(currently ignored). We also support builtins for ISO C99 floating
- point comparison macros (e.g., <tt>__builtin_islessequal</tt>).</li>
+ point comparison macros (e.g., <tt>__builtin_islessequal</tt>), and
+ <tt>__builtin_prefetch</tt>.</li>
</ol>
<p>The following extensions <b>are</b> known to be supported:</p>