<!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 2.6 Release Notes</title>
</head>
<body>

<div class="doc_title">LLVM 2.6 Release Notes</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 2.6</a></li>
  <li><a href="#whatsnew">What's New in LLVM 2.6?</a></li>
  <li><a href="GettingStarted.html">Installation Instructions</a></li>
  <li><a href="#portability">Portability and Supported Platforms</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>

<!-- *********************************************************************** -->
<div class="doc_section">
  <a name="intro">Introduction</a>
</div>
<!-- *********************************************************************** -->

<div class="doc_text">

<p>This document contains the release notes for the LLVM Compiler
Infrastructure, release 2.6.  Here we describe the status of LLVM, including
major improvements from the previous release and significant known problems.
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://mail.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>
 

<!--
Almost dead code.
  include/llvm/Analysis/LiveValues.h => Dan
  lib/Transforms/IPO/MergeFunctions.cpp => consider for 2.8.
  llvm/Analysis/PointerTracking.h => Edwin wants this, consider for 2.8.
-->
 
   
<!-- Unfinished features in 2.6:
  gcc plugin.
  strong phi elim
  variable debug info for optimized code
  postalloc scheduler: anti dependence breaking, hazard recognizer?
  metadata
  loop dependence analysis
  ELF Writer?  How stable?
  <li>PostRA scheduler improvements, ARM adoption (David Goodwin).</li>
  2.7 supports the GDB 7.0 jit interfaces for debug info.
  2.7 eliminates ADT/iterator.h
 -->

 <!-- for announcement email:
 Logo web page.
 llvm devmtg
 compiler_rt
 KLEE web page at klee.llvm.org
 Many new papers added to /pubs/
   Mention gcc plugin.

   -->

<!-- *********************************************************************** -->
<div class="doc_section">
  <a name="subproj">Sub-project Status Update</a>
</div>
<!-- *********************************************************************** -->

<div class="doc_text">
<p>
The LLVM 2.6 distribution currently consists of code from the core LLVM
repository (which roughly includes the LLVM optimizers, code generators
and supporting tools), the Clang repository and the llvm-gcc 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>

</div>


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

<div class="doc_text">

<p>The <a href="http://clang.llvm.org/">Clang project</a> is an effort to build
a set of new 'LLVM native' front-end technologies for the C family of languages.
LLVM 2.6 is the first release to officially include Clang, and it provides a
production quality C and Objective-C compiler.  If you are interested in <a 
href="http://clang.llvm.org/performance.html">fast compiles</a> and
<a href="http://clang.llvm.org/diagnostics.html">good diagnostics</a>, we
encourage you to try it out.  Clang currently compiles typical Objective-C code
3x faster than GCC and compiles C code about 30% faster than GCC at -O0 -g
(which is when the most pressure is on the frontend).</p>

<p>In addition to supporting these languages, C++ support is also <a
href="http://clang.llvm.org/cxx_status.html">well under way</a>, and mainline
Clang is able to parse the libstdc++ 4.2 headers and even codegen simple apps.
If you are interested in Clang C++ support or any other Clang feature, we
strongly encourage you to get involved on the <a 
href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">Clang front-end mailing
list</a>.</p>

<p>In the LLVM 2.6 time-frame, the Clang team has made many improvements:</p>

<ul>
<li>C and Objective-C support are now considered production quality.</li>
<li>AuroraUX, FreeBSD and OpenBSD are now supported.</li>
<li>Most of Objective-C 2.0 is now supported with the GNU runtime.</li>
<li>Many many bugs are fixed and lots of features have been added.</li>
</ul>
</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="clangsa">Clang Static Analyzer</a>
</div>

<div class="doc_text">

<p>Previously announced in the 2.4 and 2.5 LLVM releases, the Clang project also
includes an early stage static source code analysis tool for <a
href="http://clang.llvm.org/StaticAnalysis.html">automatically finding bugs</a>
in C and Objective-C programs. The tool performs checks to find
bugs that occur on a specific path within a program.</p>

<p>In the LLVM 2.6 time-frame, the analyzer core has undergone several important
improvements and cleanups and now includes a new <em>Checker</em> interface that
is intended to eventually serve as a basis for domain-specific checks. Further,
in addition to generating HTML files for reporting analysis results, the
analyzer can now also emit bug reports in a structured XML format that is
intended to be easily readable by other programs.</p>

<p>The set of checks performed by the static analyzer continues to expand, and
future plans for the tool include full source-level inter-procedural analysis
and deeper checks such as buffer overrun detection. There are many opportunities
to extend and enhance the static analyzer, and anyone interested in working on
this project is encouraged to get involved!</p>

</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="vmkit">VMKit: JVM/CLI Virtual Machine Implementation</a>
</div>

<div class="doc_text">
<p>
The <a href="http://vmkit.llvm.org/">VMKit project</a> is an implementation of
a JVM and a CLI Virtual Machine (Microsoft .NET is an
implementation of the CLI) using LLVM for static and just-in-time
compilation.</p>

<p>
VMKit version 0.26 builds with LLVM 2.6 and you can find it on its
<a href="http://vmkit.llvm.org/releases/">web page</a>. The release includes
bug fixes, cleanup and new features. The major changes are:</p>

<ul>

<li>A new llcj tool to generate shared libraries or executables of Java
    files.</li>
<li>Cooperative garbage collection. </li>
<li>Fast subtype checking (paper from Click et al [JGI'02]). </li>
<li>Implementation of a two-word header for Java objects instead of the original
    three-word header. </li>
<li>Better Java specification-compliance: division by zero checks, stack
    overflow checks, finalization and references support. </li>

</ul>
</div>


<!--=========================================================================-->
<div class="doc_subsection">
<a name="compiler-rt">compiler-rt: Compiler Runtime Library</a>
</div>

<div class="doc_text">
<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>
All of the code in the compiler-rt project is available under the standard LLVM
License, a "BSD-style" license.</p>

</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="klee">KLEE: Symbolic Execution and Automatic Test Case Generator</a>
</div>

<div class="doc_text">
<p>
The new LLVM <a href="http://klee.llvm.org/">KLEE project</a> is a symbolic
execution framework for programs in LLVM bitcode form.  KLEE tries to
symbolically evaluate "all" paths through the application and records state
transitions that lead to fault states.  This allows it to construct testcases
that lead to faults and can even be used to verify algorithms.  For more
details, please see the <a
href="http://llvm.org/pubs/2008-12-OSDI-KLEE.html">OSDI 2008 paper</a> about
KLEE.</p>

</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="dragonegg">DragonEgg: GCC-4.5 as an LLVM frontend</a>
</div>

<div class="doc_text">
<p>
The goal of <a href="http://dragonegg.llvm.org/">DragonEgg</a> is to make
gcc-4.5 act like llvm-gcc without requiring any gcc modifications whatsoever.
<a href="http://dragonegg.llvm.org/">DragonEgg</a> is a shared library (dragonegg.so)
that is loaded by gcc at runtime.  It uses the new gcc plugin architecture to
disable the GCC optimizers and code generators, and schedule the LLVM optimizers
and code generators (or direct output of LLVM IR) instead.  Currently only Linux
and Darwin are supported, and only on x86-32 and x86-64.  It should be easy to
add additional unix-like architectures and other processor families.  In theory
it should be possible to use <a href="http://dragonegg.llvm.org/">DragonEgg</a>
with any language supported by gcc, however only C and Fortran work well for the
moment.  Ada and C++ work to some extent, while Java, Obj-C and Obj-C++ are so
far entirely untested.  Since gcc-4.5 has not yet been released, neither has
<a href="http://dragonegg.llvm.org/">DragonEgg</a>.  To build
<a href="http://dragonegg.llvm.org/">DragonEgg</a> you will need to check out the
development versions of <a href="http://gcc.gnu.org/svn.html/"> gcc</a>,
<a href="http://llvm.org/docs/GettingStarted.html#checkout">llvm</a> and
<a href="http://dragonegg.llvm.org/">DragonEgg</a> from their respective
subversion repositories, and follow the instructions in the
<a href="http://dragonegg.llvm.org/">DragonEgg</a> README.
</p>

</div>


<!--=========================================================================-->
<div class="doc_subsection">
<a name="mc">llvm-mc: Machine Code Toolkit</a>
</div>

<div class="doc_text">
<p>
The LLVM Machine Code (MC) Toolkit project is a (very early) effort to build
better tools for dealing with machine code, object file formats, etc.  The idea
is to be able to generate most of the target specific details of assemblers and
disassemblers from existing LLVM target .td files (with suitable enhancements),
and to build infrastructure for reading and writing common object file formats.
One of the first deliverables is to build a full assembler and integrate it into
the compiler, which is predicted to substantially reduce compile time in some
scenarios.
</p>

<p>In the LLVM 2.6 timeframe, the MC framework has grown to the point where it
can reliably parse and pretty print (with some encoding information) a
darwin/x86 .s file successfully, and has the very early phases of a Mach-O
assembler in progress.  Beyond the MC framework itself, major refactoring of the
LLVM code generator has started.  The idea is to make the code generator reason
about the code it is producing in a much more semantic way, rather than a
textual way.  For example, the code generator now uses MCSection objects to
represent section assignments, instead of text strings that print to .section
directives.</p>

<p>MC is an early and ongoing project that will hopefully continue to lead to
many improvements in the code generator and build infrastructure useful for many
other situations.
</p>

</div>	


<!-- *********************************************************************** -->
<div class="doc_section">
  <a name="externalproj">External Open Source Projects Using LLVM 2.6</a>
</div>
<!-- *********************************************************************** -->

<div class="doc_text">

<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 2.6.</p>
</div>


<!--=========================================================================-->
<div class="doc_subsection">
<a name="Rubinius">Rubinius</a>
</div>

<div class="doc_text">
<p><a href="http://github.com/evanphx/rubinius">Rubinius</a> is an environment
for running Ruby code which strives to write as much of the core class
implementation in Ruby as possible. Combined with a bytecode interpreting VM, it
uses LLVM to optimize and compile ruby code down to machine code. Techniques
such as type feedback, method inlining, and uncommon traps are all used to
remove dynamism from ruby execution and increase performance.</p>

<p>Since LLVM 2.5, Rubinius has made several major leaps forward, implementing
a counter based JIT, type feedback and speculative method inlining.
</p>

</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="macruby">MacRuby</a>
</div>

<div class="doc_text">

<p>
<a href="http://macruby.org">MacRuby</a> is an implementation of Ruby on top of
core Mac OS X technologies, such as the Objective-C common runtime and garbage
collector and the CoreFoundation framework. It is principally developed by
Apple and aims at enabling the creation of full-fledged Mac OS X applications.
</p>

<p>
MacRuby uses LLVM for optimization passes, JIT and AOT compilation of Ruby
expressions. It also uses zero-cost DWARF exceptions to implement Ruby exception
handling.</p>

</div>


<!--=========================================================================-->
<div class="doc_subsection">
<a name="pure">Pure</a>
</div>

<div class="doc_text">
<p>
<a href="http://pure-lang.googlecode.com/">Pure</a>
is an algebraic/functional programming language based on term rewriting.
Programs are collections of equations which are used to evaluate expressions in
a symbolic fashion. Pure offers dynamic typing, eager and lazy evaluation,
lexical closures, a hygienic macro system (also based on term rewriting),
built-in list and matrix support (including list and matrix comprehensions) and
an easy-to-use C interface. The interpreter uses LLVM as a backend to
 JIT-compile Pure programs to fast native code.</p>

<p>Pure versions 0.31 and later have been tested and are known to work with
LLVM 2.6 (and continue to work with older LLVM releases >= 2.3 as well).
</p>
</div>


<!--=========================================================================-->
<div class="doc_subsection">
<a name="ldc">LLVM D Compiler</a>
</div>

<div class="doc_text">
<p>
<a href="http://www.dsource.org/projects/ldc">LDC</a> is an implementation of
the D Programming Language using the LLVM optimizer and code generator.
The LDC project works great with the LLVM 2.6 release.  General improvements in
this
cycle have included new inline asm constraint handling, better debug info
support, general bug fixes and better x86-64 support.  This has allowed
some major improvements in LDC, getting it much closer to being as
fully featured as the original DMD compiler from DigitalMars.
</p>
</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="RoadsendPHP">Roadsend PHP</a>
</div>

<div class="doc_text">
<p>
<a href="http://code.roadsend.com/rphp">Roadsend PHP</a> (rphp) is an open
source implementation of the PHP programming 
language that uses LLVM for its optimizer, JIT and static compiler. This is a 
reimplementation of an earlier project that is now based on LLVM.</p>
</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="UnladenSwallow">Unladen Swallow</a>
</div>

<div class="doc_text">
<p>
<a href="http://code.google.com/p/unladen-swallow/">Unladen Swallow</a> is a
branch of <a href="http://python.org/">Python</a> intended to be fully
compatible and significantly faster.  It uses LLVM's optimization passes and JIT
compiler.</p>
</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="llvm-lua">llvm-lua</a>
</div>

<div class="doc_text">
<p>
<a href="http://code.google.com/p/llvm-lua/">LLVM-Lua</a> uses LLVM to add JIT
and static compiling support to the Lua VM.  Lua bytecode is analyzed to
remove type checks, then LLVM is used to compile the bytecode down to machine
code.</p>
</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="icedtea">IcedTea Java Virtual Machine Implementation</a>
</div>

<div class="doc_text">
<p>
<a href="http://icedtea.classpath.org/wiki/Main_Page">IcedTea</a> provides a
harness to build OpenJDK using only free software build tools and to provide
replacements for the not-yet free parts of OpenJDK.  One of the extensions that
IcedTea provides is a new JIT compiler named <a
href="http://icedtea.classpath.org/wiki/ZeroSharkFaq">Shark</a> which uses LLVM
to provide native code generation without introducing processor-dependent
code.
</p>
</div>



<!-- *********************************************************************** -->
<div class="doc_section">
  <a name="whatsnew">What's New in LLVM 2.6?</a>
</div>
<!-- *********************************************************************** -->

<div class="doc_text">

<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>

</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="majorfeatures">Major New Features</a>
</div>

<div class="doc_text">

<p>LLVM 2.6 includes several major new capabilities:</p>

<ul>
<li>New <a href="#compiler-rt">compiler-rt</a>, <A href="#klee">KLEE</a>
    and <a href="#mc">machine code toolkit</a> sub-projects.</li>
<li>Debug information now includes line numbers when optimizations are enabled.
    This allows statistical sampling tools like OProfile and Shark to map
    samples back to source lines.</li>
<li>LLVM now includes new experimental backends to support the MSP430, SystemZ
    and BlackFin architectures.</li>
<li>LLVM supports a new <a href="GoldPlugin.html">Gold Linker Plugin</a> which
    enables support for <a href="LinkTimeOptimization.html">transparent
    link-time optimization</a> on ELF targets when used with the Gold binutils
    linker.</li>
<li>LLVM now supports doing optimization and code generation on multiple 
    threads.  Please see the <a href="ProgrammersManual.html#threading">LLVM
    Programmer's Manual</a> for more information.</li>
<li>LLVM now has experimental support for <a
    href="http://nondot.org/~sabre/LLVMNotes/EmbeddedMetadata.txt">embedded
    metadata</a> in LLVM IR, though the implementation is not guaranteed to be
    final and the .bc file format may change in future releases.  Debug info 
    does not yet use this format in LLVM 2.6.</li>
</ul>

</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="coreimprovements">LLVM IR and Core Improvements</a>
</div>

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

<ul>
<li>The <a href="LangRef.html#i_add">add</a>, <a 
    href="LangRef.html#i_sub">sub</a> and <a href="LangRef.html#i_mul">mul</a>
    instructions have been split into integer and floating point versions (like
    divide and remainder), introducing new <a
    href="LangRef.html#i_fadd">fadd</a>, <a href="LangRef.html#i_fsub">fsub</a>,
    and <a href="LangRef.html#i_fmul">fmul</a> instructions.</li>
<li>The <a href="LangRef.html#i_add">add</a>, <a 
    href="LangRef.html#i_sub">sub</a> and <a href="LangRef.html#i_mul">mul</a>
    instructions now support optional "nsw" and "nuw" bits which indicate that
    the operation is guaranteed to not overflow (in the signed or
    unsigned case, respectively).  This gives the optimizer more information and
    can be used for things like C signed integer values, which are undefined on
    overflow.</li>
<li>The <a href="LangRef.html#i_sdiv">sdiv</a> instruction now supports an
    optional "exact" flag which indicates that the result of the division is
    guaranteed to have a remainder of zero.  This is useful for optimizing pointer
    subtraction in C.</li>
<li>The <a href="LangRef.html#i_getelementptr">getelementptr</a> instruction now
    supports arbitrary integer index values for array/pointer indices.  This
    allows for better code generation on 16-bit pointer targets like PIC16.</li>
<li>The <a href="LangRef.html#i_getelementptr">getelementptr</a> instruction now
    supports an "inbounds" optimization hint that tells the optimizer that the
    pointer is guaranteed to be within its allocated object.</li>
<li>LLVM now support a series of new linkage types for global values which allow
    for better optimization and new capabilities:
    <ul>
    <li><a href="LangRef.html#linkage_linkonce">linkonce_odr</a> and
        <a href="LangRef.html#linkage_weak">weak_odr</a> have the same linkage
        semantics as the non-"odr" linkage types.  The difference is that these
        linkage types indicate that all definitions of the specified function
        are guaranteed to have the same semantics.  This allows inlining
        templates functions in C++ but not inlining weak functions in C,
        which previously both got the same linkage type.</li>
    <li><a href="LangRef.html#linkage_available_externally">available_externally
        </a> is a new linkage type that gives the optimizer visibility into the
        definition of a function (allowing inlining and side effect analysis)
        but that does not cause code to be generated.  This allows better
        optimization of "GNU inline" functions, extern templates, etc.</li>
    <li><a href="LangRef.html#linkage_linker_private">linker_private</a> is a
        new linkage type (which is only useful on Mac OS X) that is used for
        some metadata generation and other obscure things.</li>
    </ul></li>
<li>Finally, target-specific intrinsics can now return multiple values, which
    is useful for modeling target operations with multiple results.</li>
</ul>

</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="optimizer">Optimizer Improvements</a>
</div>

<div class="doc_text">

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

<ul>

<li>The <a href="Passes.html#scalarrepl">Scalar Replacement of Aggregates</a>
    pass has many improvements that allow it to better promote vector unions,
    variables which are memset, and much more strange code that can happen to
    do bitfield accesses to register operations.  An interesting change is that
    it now produces "unusual" integer sizes (like i1704) in some cases and lets
    other optimizers clean things up.</li>
<li>The <a href="Passes.html#loop-reduce">Loop Strength Reduction</a> pass now
    promotes small integer induction variables to 64-bit on 64-bit targets,
    which provides a major performance boost for much numerical code.  It also
    promotes shorts to int on 32-bit hosts, etc.  LSR now also analyzes pointer
    expressions (e.g. getelementptrs), as well as integers.</li>
<li>The <a href="Passes.html#gvn">GVN</a> pass now eliminates partial
    redundancies of loads in simple cases.</li>
<li>The <a href="Passes.html#inline">Inliner</a> now reuses stack space when
    inlining similar arrays from multiple callees into one caller.</li>
<li>LLVM includes a new experimental Static Single Information (SSI)
    construction pass.</li>

</ul>

</div>


<!--=========================================================================-->
<div class="doc_subsection">
<a name="executionengine">Interpreter and JIT Improvements</a>
</div>

<div class="doc_text">

<ul>
<li>LLVM has a new "EngineBuilder" class which makes it more obvious how to
    set up and configure an ExecutionEngine (a JIT or interpreter).</li>
<li>The JIT now supports generating more than 16M of code.</li>
<li>When configured with <tt>--with-oprofile</tt>, the JIT can now inform
     OProfile about JIT'd code, allowing OProfile to get line number and function
     name information for JIT'd functions.</li>
<li>When "libffi" is available, the LLVM interpreter now uses it, which supports
    calling almost arbitrary external (natively compiled) functions.</li>
<li>Clients of the JIT can now register a 'JITEventListener' object to receive
    callbacks when the JIT emits or frees machine code. The OProfile support
    uses this mechanism.</li>
</ul>

</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="codegen">Target Independent Code Generator Improvements</a>
</div>

<div class="doc_text">

<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>The <tt>llc -asm-verbose</tt> option (exposed from llvm-gcc as <tt>-dA</tt>
    and clang as <tt>-fverbose-asm</tt> or <tt>-dA</tt>) now adds a lot of 
    useful information in comments to
    the generated .s file.  This information includes location information (if
    built with <tt>-g</tt>) and loop nest information.</li>
<li>The code generator now supports a new MachineVerifier pass which is useful
    for finding bugs in targets and codegen passes.</li>
<li>The Machine LICM is now enabled by default.  It hoists instructions out of
    loops (such as constant pool loads, loads from read-only stubs, vector
    constant synthesization code, etc.) and is currently configured to only do
    so when the hoisted operation can be rematerialized.</li>
<li>The Machine Sinking pass is now enabled by default.  This pass moves
    side-effect free operations down the CFG so that they are executed on fewer
    paths through a function.</li>
<li>The code generator now performs "stack slot coloring" of register spills,
    which allows spill slots to be reused.  This leads to smaller stack frames
    in cases where there are lots of register spills.</li>
<li>The register allocator has many improvements to take better advantage of
    commutable operations, various spiller peephole optimizations, and can now
    coalesce cross-register-class copies.</li>
<li>Tblgen now supports multiclass inheritance and a number of new string and
    list operations like <tt>!(subst)</tt>, <tt>!(foreach)</tt>, <tt>!car</tt>,
    <tt>!cdr</tt>, <tt>!null</tt>, <tt>!if</tt>, <tt>!cast</tt>.
    These make the .td files more expressive and allow more aggressive factoring
    of duplication across instruction patterns.</li>
<li>Target-specific intrinsics can now be added without having to hack VMCore to
    add them.  This makes it easier to maintain out-of-tree targets.</li>
<li>The instruction selector is better at propagating information about values
    (such as whether they are sign/zero extended etc.) across basic block
    boundaries.</li>
<li>The SelectionDAG datastructure has new nodes for representing buildvector
    and <a href="http://llvm.org/PR2957">vector shuffle</a> operations.  This
    makes operations and pattern matching more efficient and easier to get
    right.</li>
<li>The Prolog/Epilog Insertion Pass now has experimental support for performing
    the "shrink wrapping" optimization, which moves spills and reloads around in
    the CFG to avoid doing saves on paths that don't need them.</li>
<li>LLVM includes new experimental support for writing ELF .o files directly
    from the compiler.  It works well for many simple C testcases, but doesn't
    support exception handling, debug info, inline assembly, etc.</li>
<li>Targets can now specify register allocation hints through
    <tt>MachineRegisterInfo::setRegAllocationHint</tt>. A regalloc hint consists
    of hint type and physical register number. A hint type of zero specifies a
    register allocation preference. Other hint type values are target specific
    which are resolved by <tt>TargetRegisterInfo::ResolveRegAllocHint</tt>. An
    example is the ARM target which uses register hints to request that the
    register allocator provide an even / odd register pair to two virtual
    registers.</li>
</ul>
</div>

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

<div class="doc_text">
<p>New features of the X86 target include:
</p>

<ul>

<li>SSE 4.2 builtins are now supported.</li>
<li>GCC-compatible soft float modes are now supported, which are typically used
    by OS kernels.</li>
<li>X86-64 now models implicit zero extensions better, which allows the code
    generator to remove a lot of redundant zexts.  It also models the 8-bit "H"
    registers as subregs, which allows them to be used in some tricky
    situations.</li>
<li>X86-64 now supports the "local exec" and "initial exec" thread local storage
    model.</li>
<li>The vector forms of the <a href="LangRef.html#i_icmp">icmp</a> and <a
    href="LangRef.html#i_fcmp">fcmp</a> instructions now select to efficient
    SSE operations.</li>
<li>Support for the win64 calling conventions have improved.  The primary
    missing feature is support for varargs function definitions.  It seems to
    work well for many win64 JIT purposes.</li>
<li>The X86 backend has preliminary support for <a 
    href="CodeGenerator.html#x86_memory">mapping address spaces to segment
    register references</a>.  This allows you to write GS or FS relative memory
    accesses directly in LLVM IR for cases where you know exactly what you're
    doing (such as in an OS kernel).  There are some known problems with this
    support, but it works in simple cases.</li>
<li>The X86 code generator has been refactored to move all global variable
    reference logic to one place
    (<tt>X86Subtarget::ClassifyGlobalReference</tt>) which
    makes it easier to reason about.</li>

</ul>

</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="pic16">PIC16 Target Improvements</a>
</div>

<div class="doc_text">
<p>New features of the PIC16 target include:
</p>

<ul>
<li>Support for floating-point, indirect function calls, and
    passing/returning aggregate types to functions.
<li>The code generator is able to generate debug info into output COFF files.
<li>Support for placing an object into a specific section or at a specific
    address in memory.</li>
</ul>

<p>Things not yet supported:</p>

<ul>
<li>Variable arguments.</li>
<li>Interrupts/programs.</li>
</ul>

</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="ARM">ARM Target Improvements</a>
</div>

<div class="doc_text">
<p>New features of the ARM target include:
</p>

<ul>

<li>Preliminary support for processors, such as the Cortex-A8 and Cortex-A9,
that implement version v7-A of the ARM architecture.  The ARM backend now
supports both the Thumb2 and Advanced SIMD (Neon) instruction sets.</li>

<li>The AAPCS-VFP "hard float" calling conventions are also supported with the
<tt>-float-abi=hard</tt> flag.</li>

<li>The ARM calling convention code is now tblgen generated instead of resorting
    to C++ code.</li>
</ul>

<p>These features are still somewhat experimental
and subject to change. The Neon intrinsics, in particular, may change in future
releases of LLVM.  ARMv7 support has progressed a lot on top of tree since 2.6
branched.</p>


</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="OtherTarget">Other Target Specific Improvements</a>
</div>

<div class="doc_text">
<p>New features of other targets include:
</p>

<ul>
<li>Mips now supports O32 Calling Convention.</li>
<li>Many improvements to the 32-bit PowerPC SVR4 ABI (used on powerpc-linux)
    support, lots of bugs fixed.</li>
<li>Added support for the 64-bit PowerPC SVR4 ABI (used on powerpc64-linux).
    Needs more testing.</li>
</ul>

</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="newapis">New Useful APIs</a>
</div>

<div class="doc_text">

<p>This release includes a number of new APIs that are used internally, which
   may also be useful for external clients.
</p>

<ul>
<li>New <a href="http://llvm.org/doxygen/PrettyStackTrace_8h-source.html">
    <tt>PrettyStackTrace</tt> class</a> allows crashes of llvm tools (and applications
    that integrate them) to provide more detailed indication of what the
    compiler was doing at the time of the crash (e.g. running a pass).
    At the top level for each LLVM tool, it includes the command line arguments.
    </li>
<li>New <a href="http://llvm.org/doxygen/StringRef_8h-source.html">StringRef</a>
    and <a href="http://llvm.org/doxygen/Twine_8h-source.html">Twine</a> classes
    make operations on character ranges and
    string concatenation to be more efficient.  <tt>StringRef</tt> is just a <tt>const
    char*</tt> with a length, <tt>Twine</tt> is a light-weight rope.</li>
<li>LLVM has new <tt>WeakVH</tt>, <tt>AssertingVH</tt> and <tt>CallbackVH</tt>
    classes, which make it easier to write LLVM IR transformations.  <tt>WeakVH</tt>
    is automatically drops to null when the referenced <tt>Value</tt> is deleted,
    and is updated across a <tt>replaceAllUsesWith</tt> operation.
    <tt>AssertingVH</tt> aborts the program if the
    referenced value is destroyed while it is being referenced.  <tt>CallbackVH</tt>
    is a customizable class for handling value references.  See <a
    href="http://llvm.org/doxygen/ValueHandle_8h-source.html">ValueHandle.h</a> 
    for more information.</li>
<li>The new '<a href="http://llvm.org/doxygen/Triple_8h-source.html">Triple
    </a>' class centralizes a lot of logic that reasons about target
    triples.</li>
<li>The new '<a href="http://llvm.org/doxygen/ErrorHandling_8h-source.html">
    llvm_report_error()</a>' set of APIs allows tools to embed the LLVM
    optimizer and backend and recover from previously unrecoverable errors.</li>
<li>LLVM has new abstractions for <a 
    href="http://llvm.org/doxygen/Atomic_8h-source.html">atomic operations</a>
    and <a href="http://llvm.org/doxygen/RWMutex_8h-source.html">reader/writer
    locks</a>.</li>
<li>LLVM has new <a href="http://llvm.org/doxygen/SourceMgr_8h-source.html">
    <tt>SourceMgr</tt> and <tt>SMLoc</tt> classes</a> which implement caret
    diagnostics and basic include stack processing for simple parsers. It is
    used by tablegen, llvm-mc, the .ll parser and FileCheck.</li>
</ul>


</div>

<!--=========================================================================-->
<div class="doc_subsection">
<a name="otherimprovements">Other Improvements and New Features</a>
</div>

<div class="doc_text">
<p>Other miscellaneous features include:</p>

<ul>
<li>LLVM now includes a new internal '<a 
    href="http://llvm.org/cmds/FileCheck.html">FileCheck</a>' tool which allows
    writing much more accurate regression tests that run faster.  Please see the
    <a href="TestingGuide.html#FileCheck">FileCheck section of the Testing
    Guide</a> for more information.</li>
<li>LLVM profile information support has been significantly improved to produce
correct use counts, and has support for edge profiling with reduced runtime
overhead.  Combined, the generated profile information is both more correct and
imposes about half as much overhead (2.6. from 12% to 6% overhead on SPEC
CPU2000).</li>
<li>The C bindings (in the llvm/include/llvm-c directory) include many newly
    supported APIs.</li>
<li>LLVM 2.6 includes a brand new experimental LLVM bindings to the Ada2005
    programming language.</li>

<li>The LLVMC driver has several new features:
  <ul>
  <li>Dynamic plugins now work on Windows.</li>
  <li>New option property: init. Makes possible to provide default values for
      options defined in plugins (interface to <tt>cl::init</tt>).</li>
  <li>New example: Skeleton, shows how to create a standalone LLVMC-based
      driver.</li>
  <li>New example: mcc16, a driver for the PIC16 toolchain.</li>
  </ul>
</li>

</ul>

</div>


<!--=========================================================================-->
<div class="doc_subsection">
<a name="changes">Major Changes and Removed Features</a>
</div>

<div class="doc_text">

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

<ul>
<li>The Itanium (IA64) backend has been removed.  It was not actively supported
    and had bitrotted.</li>
<li>The BigBlock register allocator has been removed, it had also bitrotted.</li>
<li>The C Backend (<tt>-march=c</tt>) is no longer considered part of the LLVM release
criteria.  We still want it to work, but no one is maintaining it and it lacks
support for arbitrary precision integers and other important IR features.</li>

<li>All LLVM tools now default to overwriting their output file, behaving more
    like standard unix tools.  Previously, this only happened with the '<tt>-f</tt>'
    option.</li>
<li>LLVM build now builds all libraries as .a files instead of some
  libraries as relinked .o files.  This requires some APIs like
  InitializeAllTargets.h.
  </li>
</ul>


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

<ul>
<li>All uses of <tt>hash_set</tt> and <tt>hash_map</tt> have been removed from
    the LLVM tree and the wrapper headers have been removed.</li>
<li>The llvm/Streams.h and <tt>DOUT</tt> member of Debug.h have been removed.  The
    <tt>llvm::Ostream</tt> class has been completely removed and replaced with
    uses of <tt>raw_ostream</tt>.</li>
<li>LLVM's global uniquing tables for <tt>Type</tt>s and <tt>Constant</tt>s have
    been privatized into members of an <tt>LLVMContext</tt>.  A number of APIs
    now take an <tt>LLVMContext</tt> as a parameter.  To smooth the transition
    for clients that will only ever use a single context, the new 
    <tt>getGlobalContext()</tt> API can be used to access a default global 
    context which can be passed in any and all cases where a context is 
    required.
<li>The <tt>getABITypeSize</tt> methods are now called <tt>getAllocSize</tt>.</li>
<li>The <tt>Add</tt>, <tt>Sub</tt> and <tt>Mul</tt> operators are no longer
    overloaded for floating-point types. Floating-point addition, subtraction
    and multiplication are now represented with new operators <tt>FAdd</tt>,
    <tt>FSub</tt> and <tt>FMul</tt>. In the <tt>IRBuilder</tt> API,
    <tt>CreateAdd</tt>, <tt>CreateSub</tt>, <tt>CreateMul</tt> and
    <tt>CreateNeg</tt> should only be used for integer arithmetic now;
    <tt>CreateFAdd</tt>, <tt>CreateFSub</tt>, <tt>CreateFMul</tt> and
    <tt>CreateFNeg</tt> should now be used for floating-point arithmetic.</li>
<li>The <tt>DynamicLibrary</tt> class can no longer be constructed, its functionality has
    moved to static member functions.</li>
<li><tt>raw_fd_ostream</tt>'s constructor for opening a given filename now
    takes an extra <tt>Force</tt> argument. If <tt>Force</tt> is set to
    <tt>false</tt>, an error will be reported if a file with the given name
    already exists. If <tt>Force</tt> is set to <tt>true</tt>, the file will
    be silently truncated (which is the behavior before this flag was
    added).</li>
<li><tt>SCEVHandle</tt> no longer exists, because reference counting is no
    longer done for <tt>SCEV*</tt> objects, instead <tt>const SCEV*</tt>
    should be used.</li>

<li>Many APIs, notably <tt>llvm::Value</tt>, now use the <tt>StringRef</tt>
and <tt>Twine</tt> classes instead of passing <tt>const char*</tt>
or <tt>std::string</tt>, as described in
the <a href="ProgrammersManual.html#string_apis">Programmer's Manual</a>. Most
clients should be unaffected by this transition, unless they are used to
<tt>Value::getName()</tt> returning a string. Here are some tips on updating to
2.6:
  <ul>
    <li><tt>getNameStr()</tt> is still available, and matches the old
      behavior. Replacing <tt>getName()</tt> calls with this is an safe option,
      although more efficient alternatives are now possible.</li>

    <li>If you were just relying on <tt>getName()</tt> being able to be sent to
      a <tt>std::ostream</tt>, consider migrating
      to <tt>llvm::raw_ostream</tt>.</li>
      
    <li>If you were using <tt>getName().c_str()</tt> to get a <tt>const
        char*</tt> pointer to the name, you can use <tt>getName().data()</tt>.
        Note that this string (as before), may not be the entire name if the
        name contains embedded null characters.</li>

    <li>If you were using <tt>operator +</tt> on the result of <tt>getName()</tt> and
      treating the result as an <tt>std::string</tt>, you can either
      use <tt>Twine::str</tt> to get the result as an <tt>std::string</tt>, or
      could move to a <tt>Twine</tt> based design.</li>

    <li><tt>isName()</tt> should be replaced with comparison
      against <tt>getName()</tt> (this is now efficient).
  </ul>
</li>

<li>The registration interfaces for backend Targets has changed (what was
previously <tt>TargetMachineRegistry</tt>). For backend authors, see the <a
href="WritingAnLLVMBackend.html#TargetRegistration">Writing An LLVM Backend</a>
guide. For clients, the notable API changes are:
  <ul>
    <li><tt>TargetMachineRegistry</tt> has been renamed
      to <tt>TargetRegistry</tt>.</li>

    <li>Clients should move to using the <tt>TargetRegistry::lookupTarget()</tt>
      function to find targets.</li>
  </ul>
</li>
</ul>

</div>



<!-- *********************************************************************** -->
<div class="doc_section">
  <a name="portability">Portability and Supported Platforms</a>
</div>
<!-- *********************************************************************** -->

<div class="doc_text">

<p>LLVM is known to work on the following platforms:</p>

<ul>
<li>Intel and AMD machines (IA32, X86-64, AMD64, EMT-64) running Red Hat
    Linux, Fedora Core, FreeBSD and AuroraUX (and probably other unix-like
    systems).</li>
<li>PowerPC and X86-based Mac OS X systems, running 10.3 and above in 32-bit
    and 64-bit modes.</li>
<li>Intel and AMD machines running on Win32 using MinGW libraries (native).</li>
<li>Intel and AMD machines running on Win32 with the Cygwin libraries (limited
    support is available for native builds with Visual C++).</li>
<li>Sun x86 and AMD64 machines running Solaris 10, OpenSolaris 0906.</li>
<li>Alpha-based machines running Debian GNU/Linux.</li>
</ul>

<p>The core LLVM infrastructure uses GNU autoconf to adapt itself
to the machine and operating system on which it is built.  However, minor
porting may be required to get LLVM to work on new platforms.  We welcome your
portability patches and reports of successful builds or error messages.</p>

</div>

<!-- *********************************************************************** -->
<div class="doc_section">
  <a name="knownproblems">Known Problems</a>
</div>
<!-- *********************************************************************** -->

<div class="doc_text">

<p>This section contains significant known problems with the LLVM system,
listed by component.  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.</p>

<ul>
<li>The llvm-gcc bootstrap will fail with some versions of binutils (e.g. 2.15)
    with a message of "<tt><a href="http://llvm.org/PR5004">Error: can not do 8
    byte pc-relative relocation</a></tt>" when building C++ code.  We intend to
    fix this on mainline, but a workaround for 2.6 is to upgrade to binutils
    2.17 or later.</li>
    
<li>LLVM will not correctly compile on Solaris and/or OpenSolaris
using the stock GCC 3.x.x series 'out the box',
See: <a href="#brokengcc">Broken versions of GCC and other tools</a>.
However, A <a href="http://pkg.auroraux.org/GCC">Modern GCC Build</a>
for x86/x86-64 has been made available from the third party AuroraUX Project
that has been meticulously tested for bootstrapping LLVM &amp; Clang.</li>
</ul>

</div>

<!-- ======================================================================= -->
<div class="doc_subsection">
  <a name="experimental">Experimental features included with this release</a>
</div>

<div class="doc_text">

<p>The following components of this LLVM release are either untested, known to
be broken or unreliable, or are in early development.  These components should
not be relied on, and bugs should not be filed against them, but they may be
useful to some people.  In particular, if you would like to work on one of these
components, please contact us on the <a
href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVMdev list</a>.</p>

<ul>
<li>The MSIL, Alpha, SPU, MIPS, PIC16, Blackfin, MSP430 and SystemZ backends are
    experimental.</li>
<li>The <tt>llc</tt> "<tt>-filetype=asm</tt>" (the default) is the only
    supported value for this option.  The ELF writer is experimental.</li>
<li>The implementation of Andersen's Alias Analysis has many known bugs.</li>
</ul>

</div>

<!-- ======================================================================= -->
<div class="doc_subsection">
  <a name="x86-be">Known problems with the X86 back-end</a>
</div>

<div class="doc_text">

<ul>
  <li>The X86 backend does not yet support
    all <a href="http://llvm.org/PR879">inline assembly that uses the X86
    floating point stack</a>.  It supports the 'f' and 't' constraints, but not
    'u'.</li>
  <li>The X86 backend generates inefficient floating point code when configured
    to generate code for systems that don't have SSE2.</li>
  <li>Win64 code generation wasn't widely tested. Everything should work, but we
    expect small issues to happen. Also, llvm-gcc cannot build the mingw64
    runtime currently due
    to <a href="http://llvm.org/PR2255">several</a>
    <a href="http://llvm.org/PR2257">bugs</a> and due to lack of support for
    the
    'u' inline assembly constraint and for X87 floating point inline assembly.</li>
  <li>The X86-64 backend does not yet support the LLVM IR instruction
      <tt>va_arg</tt>. Currently, the llvm-gcc and front-ends support variadic
      argument constructs on X86-64 by lowering them manually.</li>
</ul>

</div>

<!-- ======================================================================= -->
<div class="doc_subsection">
  <a name="ppc-be">Known problems with the PowerPC back-end</a>
</div>

<div class="doc_text">

<ul>
<li>The Linux PPC32/ABI support needs testing for the interpreter and static
compilation, and lacks support for debug information.</li>
</ul>

</div>

<!-- ======================================================================= -->
<div class="doc_subsection">
  <a name="arm-be">Known problems with the ARM back-end</a>
</div>

<div class="doc_text">

<ul>
<li>Support for the Advanced SIMD (Neon) instruction set is still incomplete
and not well tested.  Some features may not work at all, and the code quality
may be poor in some cases.</li>
<li>Thumb mode works only on ARMv6 or higher processors. On sub-ARMv6
processors, thumb programs can crash or produce wrong
results (<a href="http://llvm.org/PR1388">PR1388</a>).</li>
<li>Compilation for ARM Linux OABI (old ABI) is supported but not fully tested.
</li>
</ul>

</div>

<!-- ======================================================================= -->
<div class="doc_subsection">
  <a name="sparc-be">Known problems with the SPARC back-end</a>
</div>

<div class="doc_text">

<ul>
<li>The SPARC backend only supports the 32-bit SPARC ABI (-m32); it does not
    support the 64-bit SPARC ABI (-m64).</li>
</ul>

</div>

<!-- ======================================================================= -->
<div class="doc_subsection">
  <a name="mips-be">Known problems with the MIPS back-end</a>
</div>

<div class="doc_text">

<ul>
<li>64-bit MIPS targets are not supported yet.</li>
</ul>

</div>

<!-- ======================================================================= -->
<div class="doc_subsection">
  <a name="alpha-be">Known problems with the Alpha back-end</a>
</div>

<div class="doc_text">

<ul>

<li>On 21164s, some rare FP arithmetic sequences which may trap do not have the
appropriate nops inserted to ensure restartability.</li>

</ul>
</div>

<!-- ======================================================================= -->
<div class="doc_subsection">
  <a name="c-be">Known problems with the C back-end</a>
</div>

<div class="doc_text">

<ul>
<li><a href="http://llvm.org/PR802">The C backend has only basic support for
    inline assembly code</a>.</li>
<li><a href="http://llvm.org/PR1658">The C backend violates the ABI of common
    C++ programs</a>, preventing intermixing between C++ compiled by the CBE and
    C++ code compiled with <tt>llc</tt> or native compilers.</li>
<li>The C backend does not support all exception handling constructs.</li>
<li>The C backend does not support arbitrary precision integers.</li>
</ul>

</div>


<!-- ======================================================================= -->
<div class="doc_subsection">
  <a name="c-fe">Known problems with the llvm-gcc C front-end</a>
</div>

<div class="doc_text">

<p>The only major language feature of GCC not supported by llvm-gcc is
    the <tt>__builtin_apply</tt> family of builtins.   However, some extensions
    are only supported on some targets.  For example, trampolines are only
    supported on some targets (these are used when you take the address of a
    nested function).</p>

<p>If you run into GCC extensions which are not supported, please let us know.
</p>

</div>

<!-- ======================================================================= -->
<div class="doc_subsection">
  <a name="c++-fe">Known problems with the llvm-gcc C++ front-end</a>
</div>

<div class="doc_text">

<p>The C++ front-end is considered to be fully
tested and works for a number of non-trivial programs, including LLVM
itself, Qt, Mozilla, etc.</p>

<ul>
<li>Exception handling works well on the X86 and PowerPC targets. Currently
  only Linux and Darwin targets are supported (both 32 and 64 bit).</li>
</ul>

</div>

<!-- ======================================================================= -->
<div class="doc_subsection">
  <a name="fortran-fe">Known problems with the llvm-gcc Fortran front-end</a>
</div>

<div class="doc_text">
<ul>
<li>Fortran support generally works, but there are still several unresolved bugs
    in <a href="http://llvm.org/bugs/">Bugzilla</a>.  Please see the
    tools/gfortran component for details.</li>
</ul>
</div>

<!-- ======================================================================= -->
<div class="doc_subsection">
  <a name="ada-fe">Known problems with the llvm-gcc Ada front-end</a>
</div>

<div class="doc_text">
The llvm-gcc 4.2 Ada compiler works fairly well; however, this is not a mature
technology, and problems should be expected.
<ul>
<li>The Ada front-end currently only builds on X86-32.  This is mainly due
to lack of trampoline support (pointers to nested functions) on other platforms.
However, it <a href="http://llvm.org/PR2006">also fails to build on X86-64</a>
which does support trampolines.</li>
<li>The Ada front-end <a href="http://llvm.org/PR2007">fails to bootstrap</a>.
This is due to lack of LLVM support for <tt>setjmp</tt>/<tt>longjmp</tt> style
exception handling, which is used internally by the compiler.
Workaround: configure with <tt>--disable-bootstrap</tt>.</li>
<li>The c380004, <a href="http://llvm.org/PR2010">c393010</a>
and <a href="http://llvm.org/PR2421">cxg2021</a> ACATS tests fail
(c380004 also fails with gcc-4.2 mainline).
If the compiler is built with checks disabled then <a href="http://llvm.org/PR2010">c393010</a>
causes the compiler to go into an infinite loop, using up all system memory.</li>
<li>Some GCC specific Ada tests continue to crash the compiler.</li>
<li>The <tt>-E</tt> binder option (exception backtraces)
<a href="http://llvm.org/PR1982">does not work</a> and will result in programs
crashing if an exception is raised.  Workaround: do not use <tt>-E</tt>.</li>
<li>Only discrete types <a href="http://llvm.org/PR1981">are allowed to start
or finish at a non-byte offset</a> in a record.  Workaround: do not pack records
or use representation clauses that result in a field of a non-discrete type
starting or finishing in the middle of a byte.</li>
<li>The <tt>lli</tt> interpreter <a href="http://llvm.org/PR2009">considers
'main' as generated by the Ada binder to be invalid</a>.
Workaround: hand edit the file to use pointers for <tt>argv</tt> and
<tt>envp</tt> rather than integers.</li>
<li>The <tt>-fstack-check</tt> option <a href="http://llvm.org/PR2008">is
ignored</a>.</li>
</ul>
</div>

<!-- ======================================================================= -->
<div class="doc_subsection">
	<a name="ocaml-bindings">Known problems with the O'Caml bindings</a>
</div>

<div class="doc_text">

<p>The <tt>Llvm.Linkage</tt> module is broken, and has incorrect values. Only
<tt>Llvm.Linkage.External</tt>, <tt>Llvm.Linkage.Available_externally</tt>, and
<tt>Llvm.Linkage.Link_once</tt> will be correct. If you need any of the other linkage
modes, you'll have to write an external C library in order to expose the
functionality. This has been fixed in the trunk.</p>
</div>

<!-- *********************************************************************** -->
<div class="doc_section">
  <a name="additionalinfo">Additional Information</a>
</div>
<!-- *********************************************************************** -->

<div class="doc_text">

<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>
