|
|
|
@ -8,7 +8,7 @@
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
|
|
|
|
|
<h1 class="doc_title">LLVM 2.9 Release Notes</h1>
|
|
|
|
|
<h1>LLVM 2.9 Release Notes</h1>
|
|
|
|
|
|
|
|
|
|
<img align=right src="http://llvm.org/img/DragonSmall.png"
|
|
|
|
|
width="136" height="136" alt="LLVM Dragon Logo">
|
|
|
|
@ -36,9 +36,9 @@ Release Notes</a>.</h1>
|
|
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
<!-- *********************************************************************** -->
|
|
|
|
|
<h1>
|
|
|
|
|
<h2>
|
|
|
|
|
<a name="intro">Introduction</a>
|
|
|
|
|
</h1>
|
|
|
|
|
</h2>
|
|
|
|
|
<!-- *********************************************************************** -->
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
@ -72,9 +72,9 @@ current one. To see the release notes for a specific release, please see the
|
|
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
<!-- *********************************************************************** -->
|
|
|
|
|
<h1>
|
|
|
|
|
<h2>
|
|
|
|
|
<a name="subproj">Sub-project Status Update</a>
|
|
|
|
|
</h1>
|
|
|
|
|
</h2>
|
|
|
|
|
<!-- *********************************************************************** -->
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
@ -90,9 +90,9 @@ development. Here we include updates on these subprojects.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="clang">Clang: C/C++/Objective-C Frontend Toolkit</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
|
|
|
|
@ -121,9 +121,9 @@ compatibility</a> guide to make sure this is not intentional or a known issue.
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="dragonegg">DragonEgg: GCC front-ends, LLVM back-end</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>
|
|
|
|
@ -153,9 +153,9 @@ work yet.</li>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="compiler-rt">compiler-rt: Compiler Runtime Library</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>
|
|
|
|
@ -179,9 +179,9 @@ libgcc routines).</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="lldb">LLDB: Low Level Debugger</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>
|
|
|
|
@ -201,9 +201,9 @@ GDB</a>.</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="libc++">libc++: C++ Standard Library</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>
|
|
|
|
@ -226,9 +226,9 @@ Like compiler_rt, libc++ is now <a href="DeveloperPolicy.html#license">dual
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="LLBrowse">LLBrowse: IR Browser</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>
|
|
|
|
@ -241,9 +241,9 @@ Like compiler_rt, libc++ is now <a href="DeveloperPolicy.html#license">dual
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="vmkit">VMKit</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>The <a href="http://vmkit.llvm.org/">VMKit project</a> is an implementation
|
|
|
|
@ -258,9 +258,9 @@ Like compiler_rt, libc++ is now <a href="DeveloperPolicy.html#license">dual
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<!--
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="klee">KLEE: A Symbolic Execution Virtual Machine</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>
|
|
|
|
@ -276,9 +276,9 @@ be used to verify some algorithms.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- *********************************************************************** -->
|
|
|
|
|
<h1>
|
|
|
|
|
<h2>
|
|
|
|
|
<a name="externalproj">External Open Source Projects Using LLVM 2.9</a>
|
|
|
|
|
</h1>
|
|
|
|
|
</h2>
|
|
|
|
|
<!-- *********************************************************************** -->
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
@ -290,7 +290,7 @@ be used to verify some algorithms.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>Crack Programming Language</h2>
|
|
|
|
|
<h3>Crack Programming Language</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>
|
|
|
|
@ -302,7 +302,7 @@ object-oriented programming, operator overloading and strong typing.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>TTA-based Codesign Environment (TCE)</h2>
|
|
|
|
|
<h3>TTA-based Codesign Environment (TCE)</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>TCE is a toolset for designing application-specific processors (ASP) based on
|
|
|
|
@ -321,7 +321,7 @@ of larger parts of the compiler chain.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>PinaVM</h2>
|
|
|
|
|
<h3>PinaVM</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p><a href="http://gitorious.org/pinavm/pages/Home">PinaVM</a> is an open
|
|
|
|
@ -332,7 +332,7 @@ bitcode with SystemC-specific information.</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>Pure</h2>
|
|
|
|
|
<h3>Pure</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p><a href="http://pure-lang.googlecode.com/">Pure</a> is an
|
|
|
|
@ -353,7 +353,7 @@ bitcode with SystemC-specific information.</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2 id="icedtea">IcedTea Java Virtual Machine Implementation</h2>
|
|
|
|
|
<h3 id="icedtea">IcedTea Java Virtual Machine Implementation</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>
|
|
|
|
@ -372,7 +372,7 @@ releases >= 2.6 as well).</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>Glasgow Haskell Compiler (GHC)</h2>
|
|
|
|
|
<h3>Glasgow Haskell Compiler (GHC)</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>GHC is an open source, state-of-the-art programming suite for Haskell,
|
|
|
|
@ -386,7 +386,7 @@ supports an LLVM code generator. GHC supports LLVM 2.7 and later.</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>Polly - Polyhedral optimizations for LLVM</h2>
|
|
|
|
|
<h3>Polly - Polyhedral optimizations for LLVM</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>Polly is a project that aims to provide advanced memory access optimizations
|
|
|
|
@ -401,7 +401,7 @@ and parallelism.</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>Rubinius</h2>
|
|
|
|
|
<h3>Rubinius</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p><a href="http://github.com/evanphx/rubinius">Rubinius</a> is an environment
|
|
|
|
@ -414,9 +414,9 @@ and parallelism.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<div class="doc_subsection">
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="FAUST">FAUST Real-Time Audio Signal Processing Language</a>
|
|
|
|
|
</div>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>
|
|
|
|
@ -429,9 +429,9 @@ Faust compiler can now generate LLVM bitcode, and works with LLVM 2.7-2.9.</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- *********************************************************************** -->
|
|
|
|
|
<h1>
|
|
|
|
|
<h2>
|
|
|
|
|
<a name="whatsnew">What's New in LLVM 2.9?</a>
|
|
|
|
|
</h1>
|
|
|
|
|
</h2>
|
|
|
|
|
<!-- *********************************************************************** -->
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
@ -444,9 +444,9 @@ in this section.
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="majorfeatures">Major New Features</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
|
|
|
|
@ -474,9 +474,9 @@ in this section.
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="coreimprovements">LLVM IR and Core Improvements</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>LLVM IR has several new features for better support of new targets and that
|
|
|
|
@ -501,9 +501,9 @@ expose new optimization opportunities:</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="optimizer">Optimizer Improvements</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
|
|
|
|
@ -569,9 +569,9 @@ release includes a few major enhancements and additions to the optimizers:</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="mc">MC Level Improvements</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>
|
|
|
|
@ -623,9 +623,9 @@ LLVM MC Project Blog Post</a>.
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="codegen">Target Independent Code Generator Improvements</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
|
|
|
|
@ -666,9 +666,9 @@ it run faster:</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="x86">X86-32 and X86-64 Target Improvements</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>New features and major changes in the X86 target include:
|
|
|
|
@ -705,9 +705,9 @@ it run faster:</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="ARM">ARM Target Improvements</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<p>New features of the ARM target include:
|
|
|
|
@ -729,9 +729,9 @@ it run faster:</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="OtherTS">Other Target Specific Improvements</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
<ul>
|
|
|
|
@ -754,9 +754,9 @@ It also now supports lowering block addresses.</li>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="changes">Major Changes and Removed Features</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
|
|
|
|
@ -790,9 +790,9 @@ from the previous release.</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--=========================================================================-->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="api_changes">Internal API Changes</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
|
|
|
|
@ -816,9 +816,9 @@ from the previous release.</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- *********************************************************************** -->
|
|
|
|
|
<h1>
|
|
|
|
|
<h2>
|
|
|
|
|
<a name="knownproblems">Known Problems</a>
|
|
|
|
|
</h1>
|
|
|
|
|
</h2>
|
|
|
|
|
<!-- *********************************************************************** -->
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
@ -831,9 +831,9 @@ there isn't already one.</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- ======================================================================= -->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="experimental">Experimental features included with this release</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
|
|
|
|
@ -855,9 +855,9 @@ href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVMdev list</a>.</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- ======================================================================= -->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="x86-be">Known problems with the X86 back-end</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
|
|
|
|
@ -888,9 +888,9 @@ href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVMdev list</a>.</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- ======================================================================= -->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="ppc-be">Known problems with the PowerPC back-end</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
|
|
|
|
@ -902,9 +902,9 @@ compilation, and lacks support for debug information.</li>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- ======================================================================= -->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="arm-be">Known problems with the ARM back-end</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
|
|
|
|
@ -919,9 +919,9 @@ results (<a href="http://llvm.org/PR1388">PR1388</a>).</li>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- ======================================================================= -->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="sparc-be">Known problems with the SPARC back-end</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
|
|
|
|
@ -933,9 +933,9 @@ results (<a href="http://llvm.org/PR1388">PR1388</a>).</li>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- ======================================================================= -->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="mips-be">Known problems with the MIPS back-end</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
|
|
|
|
@ -946,9 +946,9 @@ results (<a href="http://llvm.org/PR1388">PR1388</a>).</li>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- ======================================================================= -->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="alpha-be">Known problems with the Alpha back-end</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
|
|
|
|
@ -961,9 +961,9 @@ appropriate nops inserted to ensure restartability.</li>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- ======================================================================= -->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="c-be">Known problems with the C back-end</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
|
|
|
|
@ -984,9 +984,9 @@ Depending on it for anything serious is not advised.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ======================================================================= -->
|
|
|
|
|
<h2>
|
|
|
|
|
<h3>
|
|
|
|
|
<a name="llvm-gcc">Known problems with the llvm-gcc front-end</a>
|
|
|
|
|
</h2>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|
|
|
|
|
@ -1012,9 +1012,9 @@ consider using <a href="#dragonegg">dragonegg</a> instead.</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- *********************************************************************** -->
|
|
|
|
|
<h1>
|
|
|
|
|
<h2>
|
|
|
|
|
<a name="additionalinfo">Additional Information</a>
|
|
|
|
|
</h1>
|
|
|
|
|
</h2>
|
|
|
|
|
<!-- *********************************************************************** -->
|
|
|
|
|
|
|
|
|
|
<div class="doc_text">
|
|
|
|
|