<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                      "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <link rel="stylesheet" href="llvm.css" type="text/css">
  <title>LLVM 3.1 Release Notes</title>
</head>
<body>

<h1>LLVM 3.1 Release Notes</h1>

<div>
<img style="float:right" src="http://llvm.org/img/DragonSmall.png"
     width="136" height="136" alt="LLVM Dragon Logo">
</div>

<ol>
  <li><a href="#intro">Introduction</a></li>
  <li><a href="#subproj">Sub-project Status Update</a></li>
  <li><a href="#externalproj">External Projects Using LLVM 3.1</a></li>
  <li><a href="#whatsnew">What's New in LLVM?</a></li>
  <li><a href="GettingStarted.html">Installation Instructions</a></li>
  <li><a href="#knownproblems">Known Problems</a></li>
  <li><a href="#additionalinfo">Additional Information</a></li>
</ol>

<div class="doc_author">
  <p>Written by the <a href="http://llvm.org/">LLVM Team</a></p>
</div>

<h1 style="color:red">These are in-progress notes for the upcoming LLVM 3.1
release.<br>
You may prefer the
<a href="http://llvm.org/releases/3.0/docs/ReleaseNotes.html">LLVM 3.0
Release Notes</a>.</h1>

<!-- *********************************************************************** -->
<h2>
  <a name="intro">Introduction</a>
</h2>
<!-- *********************************************************************** -->

<div>

<p>This document contains the release notes for the LLVM Compiler
   Infrastructure, release 3.1.  Here we describe the status of LLVM, including
   major improvements from the previous release, improvements in various
   subprojects of LLVM, and some of the current users of the code.
   All LLVM releases may be downloaded from
   the <a href="http://llvm.org/releases/">LLVM releases web site</a>.</p>

<p>For more information about LLVM, including information about the latest
   release, please check out the <a href="http://llvm.org/">main LLVM web
   site</a>.  If you have questions or comments,
   the <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVM
   Developer's Mailing List</a> is a good place to send them.</p>

<p>Note that if you are reading this file from a Subversion checkout or the main
   LLVM web page, this document applies to the <i>next</i> release, not the
   current one.  To see the release notes for a specific release, please see the
   <a href="http://llvm.org/releases/">releases page</a>.</p>

</div>


<!-- *********************************************************************** -->
<h2>
  <a name="subproj">Sub-project Status Update</a>
</h2>
<!-- *********************************************************************** -->

<div>

<p>The LLVM 3.1 distribution currently consists of code from the core LLVM
   repository (which roughly includes the LLVM optimizers, code generators and
   supporting tools), and the Clang repository.  In
   addition to this code, the LLVM Project includes other sub-projects that are
   in development.  Here we include updates on these subprojects.</p>

<!--=========================================================================-->
<h3>
<a name="clang">Clang: C/C++/Objective-C Frontend Toolkit</a>
</h3>

<div>

<p><a href="http://clang.llvm.org/">Clang</a> is an LLVM front end for the C,
   C++, and Objective-C languages. Clang aims to provide a better user
   experience through expressive diagnostics, a high level of conformance to
   language standards, fast compilation, and low memory use. Like LLVM, Clang
   provides a modular, library-based architecture that makes it suitable for
   creating or integrating with other development tools. Clang is considered a
   production-quality compiler for C, Objective-C, C++ and Objective-C++ on x86
   (32- and 64-bit), and for Darwin/ARM targets.</p>

<p>In the LLVM 3.1 time-frame, the Clang team has made many improvements:</p>
<ul>
  <li>...</li>
</ul>

  <p>For more details about the changes to Clang since the 2.9 release, see the
<a href="http://clang.llvm.org/docs/ReleaseNotes.html">Clang release notes</a>
</p>


<p>If Clang rejects your code but another compiler accepts it, please take a
   look at the <a href="http://clang.llvm.org/compatibility.html">language
   compatibility</a> guide to make sure this is not intentional or a known
   issue.</p>

</div>

<!--=========================================================================-->
<h3>
<a name="dragonegg">DragonEgg: GCC front-ends, LLVM back-end</a>
</h3>

<div>
<p><a href="http://dragonegg.llvm.org/">DragonEgg</a> is a
   <a href="http://gcc.gnu.org/wiki/plugins">gcc plugin</a> that replaces GCC's
   optimizers and code generators with LLVM's. It works with gcc-4.5 or gcc-4.6,
   targets the x86-32 and x86-64 processor families, and has been successfully
   used on the Darwin, FreeBSD, KFreeBSD, Linux and OpenBSD platforms.  It fully
   supports Ada, C, C++ and Fortran.  It has partial support for Go, Java, Obj-C
   and Obj-C++.</p>

<p>The 3.1 release has the following notable changes:</p>

  <ul>

  <li>...</li>

</ul>

</div>

<!--=========================================================================-->
<h3>
<a name="compiler-rt">compiler-rt: Compiler Runtime Library</a>
</h3>

<div>

<p>The new LLVM <a href="http://compiler-rt.llvm.org/">compiler-rt project</a>
   is a simple library that provides an implementation of the low-level
   target-specific hooks required by code generation and other runtime
   components.  For example, when compiling for a 32-bit target, converting a
   double to a 64-bit unsigned integer is compiled into a runtime call to the
   "__fixunsdfdi" function. The compiler-rt library provides highly optimized
   implementations of this and other low-level routines (some are 3x faster than
   the equivalent libgcc routines).</p>

<p>....</p>

</div>

<!--=========================================================================-->
<h3>
<a name="lldb">LLDB: Low Level Debugger</a>
</h3>

<div>

<p>LLDB is a ground-up implementation of a command line debugger, as well as a
   debugger API that can be used from other applications.  LLDB makes use of the
   Clang parser to provide high-fidelity expression parsing (particularly for
   C++) and uses the LLVM JIT for target support.</p>

<p>...</p>

</div>

<!--=========================================================================-->
<h3>
<a name="libc++">libc++: C++ Standard Library</a>
</h3>

<div>

<p>Like compiler_rt, libc++ is now <a href="DeveloperPolicy.html#license">dual
   licensed</a> under the MIT and UIUC license, allowing it to be used more
   permissively.</p>

<p>...</p>

</div>

<!--=========================================================================-->
<h3>
<a name="vmkit">VMKit</a>
</h3>

<div>

  <p>The <a href="http://vmkit.llvm.org/">VMKit project</a> is an
  implementation of a Java Virtual Machine (Java VM or JVM) that uses LLVM for
  static and just-in-time compilation.

  <p>In the LLVM 3.1 time-frame, VMKit has had significant improvements on both
  runtime and startup performance:</p>

  <ul>
  <li>...</li>
  </ul>

</div>


<!--=========================================================================-->
<h3>
<a name="Polly">Polly: Polyhedral Optimizer</a>
</h3>

<div>

  <p><a href="http://polly.llvm.org/">Polly</a> is an <em>experimental</em>
  optimizer for data locality and parallelism. It currently provides high-level
  loop optimizations and automatic parallelisation (using the OpenMP run time).
  Work in the area of automatic SIMD and accelerator code generation was
  started.

  <p>Within the LLVM 3.1 time-frame there were the following highlights:</p>

  <ul>
  <li>Polly became an official LLVM project</li>
  <li>Polly can be loaded directly into clang (Enabled by '-O3 -mllvm -polly'
  )</li>
  <li>An automatic scheduling optimizer (derived from <a
  href="http://pluto-compiler.sourceforge.net/">Pluto</a>) was integrated. It
  performs loop transformations to optimize for data-locality and parallelism.
  The transformations include, but are not limited to interchange, fusion,
  fission, skewing and tiling.
  </li>
  </ul>

</div>

</div>

<!-- *********************************************************************** -->
<h2>
  <a name="externalproj">External Open Source Projects Using LLVM 3.1</a>
</h2>
<!-- *********************************************************************** -->

<div>

<p>An exciting aspect of LLVM is that it is used as an enabling technology for
   a lot of other language and tools projects.  This section lists some of the
   projects that have already been updated to work with LLVM 3.1.</p>

  ... to be filled in right before the release ...

</div>

<!-- *********************************************************************** -->
<h2>
  <a name="whatsnew">What's New in LLVM 3.1?</a>
</h2>
<!-- *********************************************************************** -->

<div>

<p>This release includes a huge number of bug fixes, performance tweaks and
   minor improvements.  Some of the major improvements and new features are
   listed in this section.</p>

<!--=========================================================================-->
<h3>
<a name="majorfeatures">Major New Features</a>
</h3>

<div>

  <!-- Features that need text if they're finished for 3.1:
   ARM EHABI
   combiner-aa?
   strong phi elim
   loop dependence analysis
   CorrelatedValuePropagation
   lib/Transforms/IPO/MergeFunctions.cpp => consider for 3.1.
   Integrated assembler on by default for arm/thumb?

   -->

  <!-- Near dead:
   Analysis/RegionInfo.h + Dom Frontiers
   SparseBitVector: used in LiveVar.
   llvm/lib/Archive - replace with lib object?
   -->

<p>LLVM 3.1 includes several major changes and big features:</p>

<ul>
  <li><a href="../tools/clang/docs/AddressSanitizer.html">AddressSanitizer</a>,
      a fast memory error detector.</li>
  <li><a href="CodeGenerator.html#machineinstrbundle">MachineInstr Bundles</a>,
      Support to model instruction bundling / packing.</li>
  <li><a href="#armintegratedassembler">ARM Integrated Assembler</a>,
      A full featured assembler and direct-to-object support for ARM.</li>
  <li><a href="#blockplacement">Basic Block Placement</a>
      Probability driven basic block placement.</li>
  <li>....</li>
</ul>

</div>


<!--=========================================================================-->
<h3>
<a name="coreimprovements">LLVM IR and Core Improvements</a>
</h3>

<div>

<p>LLVM IR has several new features for better support of new targets and that
   expose new optimization opportunities:</p>

  <ul>
    <li>IR support for half float</li>
    <li>IR support for vectors of pointers, including vector GEPs.</li>
    <li>Module flags have been introduced. They convey information about the
        module as a whole to LLVM subsystems.</li>
    <li>Loads can now have range metadata attached to them to describe the
        possible values being loaded.</li>
    <li>Inline cost heuristics have been completely overhauled and now closely
        model constant propagation through call sites, disregard trivially dead
        code costs, and can model C++ STL iterator patterns.</li>
    <li>....</li>
  </ul>
</div>

<!--=========================================================================-->
<h3>
<a name="optimizer">Optimizer Improvements</a>
</h3>

<div>

<p>In addition to many minor performance tweaks and bug fixes, this
   release includes a few major enhancements and additions to the
   optimizers:</p>

<ul>
  <li>The loop unroll pass now is able to unroll loops with run-time trip counts.
      This feature is turned off by default, and is enabled with the
      <code>-unroll-runtime</code> flag.</li>
  <li>A new basic-block autovectorization pass is available. Pass
      <code>-vectorize</code> to run this pass along with some associated
      post-vectorization cleanup passes. For more information, see the EuroLLVM
      2012 slides: <a href="http://llvm.org/devmtg/2012-04-12/Slides/Hal_Finkel.pdf">
      Autovectorization with LLVM</a>.</li>
  <li>....</li>
</ul>

</div>

<!--=========================================================================-->
<h3>
<a name="mc">MC Level Improvements</a>
</h3>

<div>

<p>The LLVM Machine Code (aka MC) subsystem was created to solve a number of
   problems in the realm of assembly, disassembly, object file format handling,
   and a number of other related areas that CPU instruction-set level tools work
   in. For more information, please see
  the <a href="http://blog.llvm.org/2010/04/intro-to-llvm-mc-project.html">Intro
    to the LLVM MC Project Blog Post</a>.</p>

<ul>
  <li>....</li>
</ul>

</div>

<!--=========================================================================-->
<h3>
<a name="codegen">Target Independent Code Generator Improvements</a>
</h3>

<div>

<p>We have changed the way that the Type Legalizer legalizes vectors. The type
   legalizer now attempts to promote integer elements.  This enabled the
   implementation of vector-select.  Additionally, we see a performance boost on
   workloads which use vectors of chars and shorts, since they are now promoted
   to 32-bit types, which are better supported by the SIMD instruction set.
   Floating point types are still widened as before.</p>


<p>We have put a significant amount of work into the code generator
   infrastructure, which allows us to implement more aggressive algorithms and
   make it run faster:</p>

<ul>
  <li>TableGen can now synthesize register classes that are only needed to
      represent combinations of constraints from instructions and sub-registers.
      The synthetic register classes inherit most of their properties form their
      closest user-defined super-class.</li>
  <li><code>MachineRegisterInfo</code> now allows the reserved registers to be
      frozen when register allocation starts.  Target hooks should use the
      <code>MRI-&gt;canReserveReg(FramePtr)</code> method to avoid accidentally
      disabling frame pointer elimination during register allocation.</li>
  <li>A new kind of <code>MachineOperand</code> provides a compact
      representation of large clobber lists on call instructions.  The register
      mask operand references a bit mask of preserved registers. Everything else
      is clobbered.</li>
</ul>

<p> We added new TableGen infrastructure to support bundling for
    Very Long Instruction Word (VLIW) architectures. TableGen can now
    automatically generate a deterministic finite automaton from a VLIW
    target's schedule description which can be queried to determine
    legal groupings of instructions in a bundle.</p>

<p> We have added a new target independent VLIW packetizer based on the
    DFA infrastructure to group machine instructions into bundles.</p>

</div>

<h4>
<a name="blockplacement">Basic Block Placement</a>
</h4>
<div>
<p>A probability based block placement and code layout algorithm was added to
LLVM's code generator. This layout pass supports probabilities derived from
static heuristics as well as source code annotations such as
<code>__builtin_expect</code>.</p>
</div>

<!--=========================================================================-->
<h3>
<a name="x86">X86-32 and X86-64 Target Improvements</a>
</h3>

<div>

<p>New features and major changes in the X86 target include:</p>

<ul>
  <li>Bug fixes and improved support for AVX1</li>
  <li>Support for AVX2 (still incomplete at this point)</li>
  <li>Call instructions use the new register mask operands for faster compile
  times and better support for different calling conventions.  The old WINCALL
  instructions are no longer needed.</li>
  <li>DW2 Exception Handling is enabled on Cygwin and MinGW.</li>
  <li>Support for implicit TLS model used with MS VC runtime</li>
</ul>

</div>

<!--=========================================================================-->
<h3>
<a name="ARM">ARM Target Improvements</a>
</h3>

<div>

<p>New features of the ARM target include:</p>

<ul>
  <li>The constant island pass now supports basic block and constant pool entry
  alignments greater than 4 bytes.</li>
  <li>On Darwin, the ARM target now has a full-featured integrated assembler.
  </li>
</ul>

<h4>
<a name="armintegratedassembler">ARM Integrated Assembler</a>
</h4>
<div>
<p>The ARM target now includes a full featured macro assembler, including
direct-to-object module support for clang. The assembler is currently enabled
by default for Darwin only pending testing and any additional necessary
platform specific support for Linux.</p>

<p>Full support is included for Thumb1, Thumb2 and ARM modes, along with
subtarget and CPU specific extensions for VFP2, VFP3 and NEON.</p>

<p>The assembler is Unified Syntax only (see ARM Architecural Reference Manual
for details). While there is some, and growing, support for pre-unfied (divided)
syntax, there are still significant gaps in that support.</p>
</div>

</div>
<!--=========================================================================-->
<h3>
<a name="MIPS">MIPS Target Improvements</a>
</h3>

<div>

<p>This release has seen major new work on just about every aspect of the MIPS
  backend.  Some of the major new features include:</p>

<ul>
  <li>....</li>
</ul>
</div>

<!--=========================================================================-->
<h3>
<a name="OtherTS">Other Target Specific Improvements</a>
</h3>

<div>

<p>Support for Qualcomm's Hexagon VLIW processor has been added.</p>

<ul>
  <li>....</li>


</ul>

</div>

<!--=========================================================================-->
<h3>
<a name="changes">Major Changes and Removed Features</a>
</h3>

<div>

<p>If you're already an LLVM user or developer with out-of-tree changes based on
   LLVM 3.1, this section lists some "gotchas" that you may run into upgrading
   from the previous release.</p>

<ul>
  <li>LLVM 3.1 removes support for reading LLVM 2.9 bitcode files. Going
      forward, we aim for all future versions of LLVM to read bitcode files and
      <tt>.ll</tt> files produced by LLVM 3.0 and later.</li>
  <li>The <tt>unwind</tt> instruction is now gone. With the introduction of the
      new exception handling system in LLVM 3.0, the <tt>unwind</tt> instruction
      became obsolete.</li>
  <li>....</li>
</ul>

</div>

<!--=========================================================================-->
<h3>
<a name="api_changes">Internal API Changes</a>
</h3>

<div>

<p>In addition, many APIs have changed in this release.  Some of the major
   LLVM API changes are:</p>

<ul>
  <li>Target specific options have been moved from global variables to members
      on the new <code>TargetOptions</code> class, which is local to each
      <code>TargetMachine</code>. As a consequence, the associated flags will
      no longer be accepted by <tt>clang -mllvm</tt>. This includes:
<ul>
<li><code>llvm::PrintMachineCode</code></li>
<li><code>llvm::NoFramePointerElim</code></li>
<li><code>llvm::NoFramePointerElimNonLeaf</code></li>
<li><code>llvm::DisableFramePointerElim(const MachineFunction &)</code></li>
<li><code>llvm::LessPreciseFPMADOption</code></li>
<li><code>llvm::LessPrecideFPMAD()</code></li>
<li><code>llvm::NoExcessFPPrecision</code></li>
<li><code>llvm::UnsafeFPMath</code></li>
<li><code>llvm::NoInfsFPMath</code></li>
<li><code>llvm::NoNaNsFPMath</code></li>
<li><code>llvm::HonorSignDependentRoundingFPMathOption</code></li>
<li><code>llvm::HonorSignDependentRoundingFPMath()</code></li>
<li><code>llvm::UseSoftFloat</code></li>
<li><code>llvm::FloatABIType</code></li>
<li><code>llvm::NoZerosInBSS</code></li>
<li><code>llvm::JITExceptionHandling</code></li>
<li><code>llvm::JITEmitDebugInfo</code></li>
<li><code>llvm::JITEmitDebugInfoToDisk</code></li>
<li><code>llvm::GuaranteedTailCallOpt</code></li>
<li><code>llvm::StackAlignmentOverride</code></li>
<li><code>llvm::RealignStack</code></li>
<li><code>llvm::DisableJumpTables</code></li>
<li><code>llvm::EnableFastISel</code></li>
<li><code>llvm::getTrapFunctionName()</code></li>
<li><code>llvm::EnableSegmentedStacks</code></li>
</ul></li>
  <li>The MDBuilder class has been added to simplify the creation of
      metadata.</li>
  <li>....</li>
</ul>

</div>

<!--=========================================================================-->
<h3>
<a name="tools_changes">Tools Changes</a>
</h3>

<div>

<p>In addition, some tools have changed in this release. Some of the changes
   are:</p>


<ul>
  <li>llvm-stress is a command line tool for generating random .ll files to fuzz
      different LLVM components. </li>
  <li>....</li>
</ul>

<ul>
  <li>....</li>
</ul>

</div>

</div>

<!-- *********************************************************************** -->
<h2>
  <a name="knownproblems">Known Problems</a>
</h2>
<!-- *********************************************************************** -->

<div>

<p>LLVM is generally a production quality compiler, and is used by a broad range
   of applications and shipping in many products.  That said, not every
   subsystem is as mature as the aggregate, particularly the more obscure
   targets.  If you run into a problem, please check the <a
   href="http://llvm.org/bugs/">LLVM bug database</a> and submit a bug if
   there isn't already one or ask on the <a
    href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVMdev
    list</a>.</p>

  <p>Known problem areas include:</p>

<ul>
  <li>The Alpha, Blackfin, CellSPU, MSP430, PTX, SystemZ and
      XCore backends are experimental, and the Alpha, Blackfin and SystemZ
      targets have already been removed from mainline.</li>

  <li>The integrated assembler, disassembler, and JIT is not supported by
      several targets.  If an integrated assembler is not supported, then a
      system assembler is required.  For more details, see the <a
      href="CodeGenerator.html#targetfeatures">Target Features Matrix</a>.
  </li>

  <li>The C backend has numerous problems and is not being actively maintained.
    Depending on it for anything serious is not advised.</li>
</ul>

</div>

<!-- *********************************************************************** -->
<h2>
  <a name="additionalinfo">Additional Information</a>
</h2>
<!-- *********************************************************************** -->

<div>

<p>A wide variety of additional information is available on
   the <a href="http://llvm.org/">LLVM web page</a>, in particular in
   the <a href="http://llvm.org/docs/">documentation</a> section.  The web page
   also contains versions of the API documentation which is up-to-date with the
   Subversion version of the source code.  You can access versions of these
   documents specific to this release by going into the "<tt>llvm/doc/</tt>"
   directory in the LLVM tree.</p>

<p>If you have any questions or comments about LLVM, please feel free to contact
   us via the <a href="http://llvm.org/docs/#maillist"> mailing lists</a>.</p>

</div>

<!-- *********************************************************************** -->

<hr>
<address>
  <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
  src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a>
  <a href="http://validator.w3.org/check/referer"><img
  src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>

  <a href="http://llvm.org/">LLVM Compiler Infrastructure</a><br>
  Last modified: $Date$
</address>

</body>
</html>
