Home | History | Annotate | Download | only in docs
      1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
      2                       "http://www.w3.org/TR/html4/strict.dtd">
      3 <html>
      4 <head>
      5   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      6   <link rel="stylesheet" href="_static/llvm.css" type="text/css">
      7   <title>LLVM 3.2 Release Notes</title>
      8 </head>
      9 <body>
     10 
     11 <h1>LLVM 3.2 Release Notes</h1>
     12 
     13 <div>
     14 <img style="float:right" src="http://llvm.org/img/DragonSmall.png"
     15      width="136" height="136" alt="LLVM Dragon Logo">
     16 </div>
     17 
     18 <ol>
     19   <li><a href="#intro">Introduction</a></li>
     20   <li><a href="#subproj">Sub-project Status Update</a></li>
     21   <li><a href="#externalproj">External Projects Using LLVM 3.2</a></li>
     22   <li><a href="#whatsnew">What's New in LLVM?</a></li>
     23   <li><a href="GettingStarted.html">Installation Instructions</a></li>
     24   <li><a href="#knownproblems">Known Problems</a></li>
     25   <li><a href="#additionalinfo">Additional Information</a></li>
     26 </ol>
     27 
     28 <div class="doc_author">
     29   <p>Written by the <a href="http://llvm.org/">LLVM Team</a></p>
     30 </div>
     31 
     32 <h1 style="color:red">These are in-progress notes for the upcoming LLVM 3.2
     33 release.<br>
     34 You may prefer the
     35 <a href="http://llvm.org/releases/3.1/docs/ReleaseNotes.html">LLVM 3.1
     36 Release Notes</a>.</h1>
     37 
     38 <!-- *********************************************************************** -->
     39 <h2>
     40   <a name="intro">Introduction</a>
     41 </h2>
     42 <!-- *********************************************************************** -->
     43 
     44 <div>
     45 
     46 <p>This document contains the release notes for the LLVM Compiler
     47    Infrastructure, release 3.2.  Here we describe the status of LLVM, including
     48    major improvements from the previous release, improvements in various
     49    subprojects of LLVM, and some of the current users of the code.  All LLVM
     50    releases may be downloaded from the <a href="http://llvm.org/releases/">LLVM
     51    releases web site</a>.</p>
     52 
     53 <p>For more information about LLVM, including information about the latest
     54    release, please check out the <a href="http://llvm.org/">main LLVM web
     55    site</a>.  If you have questions or comments,
     56    the <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVM
     57    Developer's Mailing List</a> is a good place to send them.</p>
     58 
     59 <p>Note that if you are reading this file from a Subversion checkout or the main
     60    LLVM web page, this document applies to the <i>next</i> release, not the
     61    current one.  To see the release notes for a specific release, please see the
     62    <a href="http://llvm.org/releases/">releases page</a>.</p>
     63 
     64 </div>
     65 
     66 
     67 <!-- *********************************************************************** -->
     68 <h2>
     69   <a name="subproj">Sub-project Status Update</a>
     70 </h2>
     71 <!-- *********************************************************************** -->
     72 
     73 <div>
     74 
     75 <p>The LLVM 3.2 distribution currently consists of code from the core LLVM
     76    repository, which roughly includes the LLVM optimizers, code generators and
     77    supporting tools, and the Clang repository. In addition to this code, the
     78    LLVM Project includes other sub-projects that are in development. Here we
     79    include updates on these subprojects.</p>
     80 
     81 <!--=========================================================================-->
     82 <h3>
     83 <a name="clang">Clang: C/C++/Objective-C Frontend Toolkit</a>
     84 </h3>
     85 
     86 <div>
     87 
     88 <p><a href="http://clang.llvm.org/">Clang</a> is an LLVM front end for the C,
     89    C++, and Objective-C languages. Clang aims to provide a better user
     90    experience through expressive diagnostics, a high level of conformance to
     91    language standards, fast compilation, and low memory use. Like LLVM, Clang
     92    provides a modular, library-based architecture that makes it suitable for
     93    creating or integrating with other development tools. Clang is considered a
     94    production-quality compiler for C, Objective-C, C++ and Objective-C++ on x86
     95    (32- and 64-bit), and for Darwin/ARM targets.</p>
     96 
     97 <p>In the LLVM 3.2 time-frame, the Clang team has made many improvements.
     98    Highlights include:</p>
     99 <ul>
    100   <li>...</li>
    101 </ul>
    102 
    103 <p>For more details about the changes to Clang since the 3.1 release, see the
    104    <a href="http://clang.llvm.org/docs/ReleaseNotes.html">Clang release
    105    notes.</a></p>
    106 
    107 <p>If Clang rejects your code but another compiler accepts it, please take a
    108    look at the <a href="http://clang.llvm.org/compatibility.html">language
    109    compatibility</a> guide to make sure this is not intentional or a known
    110    issue.</p>
    111 
    112 </div>
    113 
    114 <!--=========================================================================-->
    115 <h3>
    116 <a name="dragonegg">DragonEgg: GCC front-ends, LLVM back-end</a>
    117 </h3>
    118 
    119 <div>
    120 
    121 <p><a href="http://dragonegg.llvm.org/">DragonEgg</a> is a
    122    <a href="http://gcc.gnu.org/wiki/plugins">gcc plugin</a> that replaces GCC's
    123    optimizers and code generators with LLVM's. It works with gcc-4.5 and gcc-4.6
    124    (and partially with gcc-4.7), can target the x86-32/x86-64 and ARM processor
    125    families, and has been successfully used on the Darwin, FreeBSD, KFreeBSD,
    126    Linux and OpenBSD platforms.  It fully supports Ada, C, C++ and Fortran.  It
    127    has partial support for Go, Java, Obj-C and Obj-C++.</p>
    128 
    129 <p>The 3.2 release has the following notable changes:</p>
    130 
    131 <ul>
    132   <li>...</li>
    133 </ul>
    134 
    135 </div>
    136 
    137 <!--=========================================================================-->
    138 <h3>
    139 <a name="compiler-rt">compiler-rt: Compiler Runtime Library</a>
    140 </h3>
    141 
    142 <div>
    143 
    144 <p>The new LLVM <a href="http://compiler-rt.llvm.org/">compiler-rt project</a>
    145    is a simple library that provides an implementation of the low-level
    146    target-specific hooks required by code generation and other runtime
    147    components.  For example, when compiling for a 32-bit target, converting a
    148    double to a 64-bit unsigned integer is compiled into a runtime call to the
    149    <code>__fixunsdfdi</code> function. The compiler-rt library provides highly
    150    optimized implementations of this and other low-level routines (some are 3x
    151    faster than the equivalent libgcc routines).</p>
    152 
    153 <p>The 3.2 release has the following notable changes:</p>
    154 
    155 <ul>
    156   <li>...</li>
    157 </ul>
    158 
    159 </div>
    160 
    161 <!--=========================================================================-->
    162 <h3>
    163 <a name="lldb">LLDB: Low Level Debugger</a>
    164 </h3>
    165 
    166 <div>
    167 
    168 <p><a href="http://lldb.llvm.org">LLDB</a> is a ground-up implementation of a
    169    command line debugger, as well as a debugger API that can be used from other
    170    applications.  LLDB makes use of the Clang parser to provide high-fidelity
    171    expression parsing (particularly for C++) and uses the LLVM JIT for target
    172    support.</p>
    173 
    174 <p>The 3.2 release has the following notable changes:</p>
    175 
    176 <ul>
    177   <li>...</li>
    178 </ul>
    179 
    180 </div>
    181 
    182 <!--=========================================================================-->
    183 <h3>
    184 <a name="libc++">libc++: C++ Standard Library</a>
    185 </h3>
    186 
    187 <div>
    188 
    189 <p>Like compiler_rt, libc++ is now <a href="DeveloperPolicy.html#license">dual
    190    licensed</a> under the MIT and UIUC license, allowing it to be used more
    191    permissively.</p>
    192 
    193 <p>Within the LLVM 3.2 time-frame there were the following highlights:</p>
    194 
    195 <ul>
    196   <li>...</li>
    197 </ul>
    198 
    199 </div>
    200 
    201 <!--=========================================================================-->
    202 <h3>
    203 <a name="vmkit">VMKit</a>
    204 </h3>
    205 
    206 <div>
    207 
    208 <p>The <a href="http://vmkit.llvm.org/">VMKit project</a> is an implementation
    209   of a Java Virtual Machine (Java VM or JVM) that uses LLVM for static and
    210   just-in-time compilation.</p>
    211 
    212 <p>The 3.2 release has the following notable changes:</p>
    213 
    214 <ul>
    215   <li>...</li>
    216 </ul>
    217 
    218 </div>
    219 
    220 
    221 <!--=========================================================================-->
    222 <h3>
    223 <a name="Polly">Polly: Polyhedral Optimizer</a>
    224 </h3>
    225 
    226 <div>
    227 
    228 <p><a href="http://polly.llvm.org/">Polly</a> is an <em>experimental</em>
    229   optimizer for data locality and parallelism. It currently provides high-level
    230   loop optimizations and automatic parallelisation (using the OpenMP run time).
    231   Work in the area of automatic SIMD and accelerator code generation was
    232   started.</p>
    233 
    234 <p>Within the LLVM 3.2 time-frame there were the following highlights:</p>
    235 
    236 <ul>
    237   <li>...</li>
    238 </ul>
    239 
    240 </div>
    241 
    242 </div>
    243 
    244 <!-- *********************************************************************** -->
    245 <h2>
    246   <a name="externalproj">External Open Source Projects Using LLVM 3.2</a>
    247 </h2>
    248 <!-- *********************************************************************** -->
    249 
    250 <div>
    251 
    252 <p>An exciting aspect of LLVM is that it is used as an enabling technology for
    253    a lot of other language and tools projects. This section lists some of the
    254    projects that have already been updated to work with LLVM 3.2.</p>
    255 
    256 <h3>Crack</h3>
    257 
    258 <div>
    259 
    260 <p><a href="http://code.google.com/p/crack-language/">Crack</a> aims to provide
    261    the ease of development of a scripting language with the performance of a
    262    compiled language. The language derives concepts from C++, Java and Python,
    263    incorporating object-oriented programming, operator overloading and strong
    264    typing.</p>
    265 
    266 </div>
    267 
    268 <h3>FAUST</h3>
    269 
    270 <div>
    271 
    272 <p><a href="http://faust.grame.fr/">FAUST</a> is a compiled language for
    273    real-time audio signal processing. The name FAUST stands for Functional
    274    AUdio STream. Its programming model combines two approaches: functional
    275    programming and block diagram composition. In addition with the C, C++, Java,
    276    JavaScript output formats, the Faust compiler can generate LLVM bitcode, and
    277    works with LLVM 2.7-3.1.</p>
    278 
    279 </div>
    280 
    281 <h3>Glasgow Haskell Compiler (GHC)</h3>
    282 
    283 <div>
    284 
    285 <p><a href="http://www.haskell.org/ghc/">GHC</a> is an open source compiler and
    286    programming suite for Haskell, a lazy functional programming language. It
    287    includes an optimizing static compiler generating good code for a variety of
    288    platforms, together with an interactive system for convenient, quick
    289    development.</p>
    290 
    291 <p>GHC 7.0 and onwards include an LLVM code generator, supporting LLVM 2.8 and
    292    later.</p>
    293 
    294 </div>
    295 
    296 <h3>Julia</h3>
    297 
    298 <div>
    299 
    300 <p><a href="https://github.com/JuliaLang/julia">Julia</a> is a high-level,
    301    high-performance dynamic language for technical computing. It provides a
    302    sophisticated compiler, distributed parallel execution, numerical accuracy,
    303    and an extensive mathematical function library. The compiler uses type
    304    inference to generate fast code without any type declarations, and uses
    305    LLVM's optimization passes and JIT compiler. The
    306    <a href="http://julialang.org/"> Julia Language</a> is designed
    307    around multiple dispatch, giving programs a large degree of flexibility. It
    308    is ready for use on many kinds of problems.</p>
    309 
    310 </div>
    311 
    312 <h3>LLVM D Compiler</h3>
    313 
    314 <div>
    315 
    316 <p><a href="https://github.com/ldc-developers/ldc">LLVM D Compiler</a> (LDC) is
    317    a compiler for the D programming Language. It is based on the DMD frontend
    318    and uses LLVM as backend.</p>
    319 
    320 </div>
    321 
    322 <h3>Open Shading Language</h3>
    323 
    324 <div>
    325 
    326 <p><a href="https://github.com/imageworks/OpenShadingLanguage/">Open Shading
    327    Language (OSL)</a> is a small but rich language for programmable shading in
    328    advanced global illumination renderers and other applications, ideal for
    329    describing materials, lights, displacement, and pattern generation. It uses
    330    LLVM to JIT complex shader networks to x86 code at runtime.</p>
    331 
    332 <p>OSL was developed by Sony Pictures Imageworks for use in its in-house
    333    renderer used for feature film animation and visual effects, and is
    334    distributed as open source software with the "New BSD" license.</p>
    335 
    336 </div>
    337 
    338 <h3>Portable OpenCL (pocl)</h3>
    339 
    340 <div>
    341 
    342 <p>In addition to producing an easily portable open source OpenCL
    343    implementation, another major goal of <a href="http://pocl.sourceforge.net/">
    344    pocl</a> is improving performance portability of OpenCL programs with
    345    compiler optimizations, reducing the need for target-dependent manual
    346    optimizations. An important part of pocl is a set of LLVM passes used to
    347    statically parallelize multiple work-items with the kernel compiler, even in
    348    the presence of work-group barriers. This enables static parallelization of
    349    the fine-grained static concurrency in the work groups in multiple ways
    350    (SIMD, VLIW, superscalar,...).</p>
    351 
    352 </div>
    353 
    354 <h3>Pure</h3>
    355 
    356 <div>
    357 
    358 <p><a href="http://pure-lang.googlecode.com/">Pure</a> is an
    359    algebraic/functional programming language based on term rewriting. Programs
    360    are collections of equations which are used to evaluate expressions in a
    361    symbolic fashion. The interpreter uses LLVM as a backend to JIT-compile Pure
    362    programs to fast native code. Pure offers dynamic typing, eager and lazy
    363    evaluation, lexical closures, a hygienic macro system (also based on term
    364    rewriting), built-in list and matrix support (including list and matrix
    365    comprehensions) and an easy-to-use interface to C and other programming
    366    languages (including the ability to load LLVM bitcode modules, and inline C,
    367    C++, Fortran and Faust code in Pure programs if the corresponding
    368    LLVM-enabled compilers are installed).</p>
    369 
    370 <p>Pure version 0.54 has been tested and is known to work with LLVM 3.1 (and
    371    continues to work with older LLVM releases >= 2.5).</p>
    372 
    373 </div>
    374 
    375 <h3>TTA-based Co-design Environment (TCE)</h3>
    376 
    377 <div>
    378 
    379 <p><a href="http://tce.cs.tut.fi/">TCE</a> is a toolset for designing
    380    application-specific processors (ASP) based on the Transport triggered
    381    architecture (TTA). The toolset provides a complete co-design flow from C/C++
    382    programs down to synthesizable VHDL/Verilog and parallel program binaries.
    383    Processor customization points include the register files, function units,
    384    supported operations, and the interconnection network.</p>
    385 
    386 <p>TCE uses Clang and LLVM for C/C++ language support, target independent
    387    optimizations and also for parts of code generation. It generates new
    388    LLVM-based code generators "on the fly" for the designed TTA processors and
    389    loads them in to the compiler backend as runtime libraries to avoid
    390    per-target recompilation of larger parts of the compiler chain.</p>
    391 
    392 </div>
    393 
    394 </div>
    395 
    396 <!-- *********************************************************************** -->
    397 <h2>
    398   <a name="whatsnew">What's New in LLVM 3.2?</a>
    399 </h2>
    400 <!-- *********************************************************************** -->
    401 
    402 <div>
    403 
    404 <p>This release includes a huge number of bug fixes, performance tweaks and
    405    minor improvements. Some of the major improvements and new features are
    406    listed in this section.</p>
    407 
    408 <!--=========================================================================-->
    409 <h3>
    410 <a name="majorfeatures">Major New Features</a>
    411 </h3>
    412 
    413 <div>
    414 
    415   <!-- Features that need text if they're finished for 3.2:
    416    ARM EHABI
    417    combiner-aa?
    418    strong phi elim
    419    loop dependence analysis
    420    CorrelatedValuePropagation
    421    lib/Transforms/IPO/MergeFunctions.cpp => consider for 3.2.
    422    Integrated assembler on by default for arm/thumb?
    423 
    424    -->
    425 
    426   <!-- Near dead:
    427    Analysis/RegionInfo.h + Dom Frontiers
    428    SparseBitVector: used in LiveVar.
    429    llvm/lib/Archive - replace with lib object?
    430    -->
    431 
    432 <p>LLVM 3.2 includes several major changes and big features:</p>
    433 
    434 <ul>
    435   <li>...</li>
    436 </ul>
    437 
    438 </div>
    439 
    440 
    441 <!--=========================================================================-->
    442 <h3>
    443 <a name="coreimprovements">LLVM IR and Core Improvements</a>
    444 </h3>
    445 
    446 <div>
    447 
    448 <p>LLVM IR has several new features for better support of new targets and that
    449    expose new optimization opportunities:</p>
    450 
    451 <ul>
    452   <li>Thread local variables may have a specified TLS model. See the
    453   <a href="LangRef.html#globalvars">Language Reference Manual</a>.</li>
    454   <li>...</li>
    455 </ul>
    456 
    457 </div>
    458 
    459 <!--=========================================================================-->
    460 <h3>
    461 <a name="optimizer">Optimizer Improvements</a>
    462 </h3>
    463 
    464 <div>
    465 
    466 <p>In addition to many minor performance tweaks and bug fixes, this release
    467    includes a few major enhancements and additions to the optimizers:</p>
    468 
    469 <ul>
    470   <li>...</li>
    471 </ul>
    472 
    473 </div>
    474 
    475 <!--=========================================================================-->
    476 <h3>
    477 <a name="mc">MC Level Improvements</a>
    478 </h3>
    479 
    480 <div>
    481 
    482 <p>The LLVM Machine Code (aka MC) subsystem was created to solve a number of
    483    problems in the realm of assembly, disassembly, object file format handling,
    484    and a number of other related areas that CPU instruction-set level tools work
    485    in. For more information, please see the
    486    <a href="http://blog.llvm.org/2010/04/intro-to-llvm-mc-project.html">Intro
    487    to the LLVM MC Project Blog Post</a>.</p>
    488 
    489 <ul>
    490   <li>...</li>
    491 </ul>
    492 
    493 </div>
    494 
    495 <!--=========================================================================-->
    496 <h3>
    497 <a name="codegen">Target Independent Code Generator Improvements</a>
    498 </h3>
    499 
    500 <div>
    501 
    502 <p>Stack Coloring - We have implemented a new optimization pass
    503   to merge stack objects which are used in disjoin areas of the code.
    504   This optimization reduces the required stack space significantly, in cases
    505   where it is clear to the optimizer that the stack slot is not shared.
    506   We use the lifetime markers to tell the codegen that a certain alloca
    507   is used within a region.</p>
    508 
    509 <p>We have put a significant amount of work into the code generator
    510    infrastructure, which allows us to implement more aggressive algorithms and
    511    make it run faster:</p>
    512 
    513 <ul>
    514   <li>...</li>
    515 </ul>
    516 
    517 <p> We added new TableGen infrastructure to support bundling for
    518     Very Long Instruction Word (VLIW) architectures. TableGen can now
    519     automatically generate a deterministic finite automaton from a VLIW
    520     target's schedule description which can be queried to determine
    521     legal groupings of instructions in a bundle.</p>
    522 
    523 <p> We have added a new target independent VLIW packetizer based on the
    524     DFA infrastructure to group machine instructions into bundles.</p>
    525 
    526 </div>
    527 
    528 <h4>
    529 <a name="blockplacement">Basic Block Placement</a>
    530 </h4>
    531 
    532 <div>
    533 
    534 <p>A probability based block placement and code layout algorithm was added to
    535    LLVM's code generator. This layout pass supports probabilities derived from
    536    static heuristics as well as source code annotations such as
    537    <code>__builtin_expect</code>.</p>
    538 
    539 </div>
    540 
    541 <!--=========================================================================-->
    542 <h3>
    543 <a name="x86">X86-32 and X86-64 Target Improvements</a>
    544 </h3>
    545 
    546 <div>
    547 
    548 <p>New features and major changes in the X86 target include:</p>
    549 
    550 <ul>
    551   <li>...</li>
    552 </ul>
    553 
    554 </div>
    555 
    556 <!--=========================================================================-->
    557 <h3>
    558 <a name="ARM">ARM Target Improvements</a>
    559 </h3>
    560 
    561 <div>
    562 
    563 <p>New features of the ARM target include:</p>
    564 
    565 <ul>
    566   <li>...</li>
    567 </ul>
    568 
    569 <!--_________________________________________________________________________-->
    570 
    571 <h4>
    572 <a name="armintegratedassembler">ARM Integrated Assembler</a>
    573 </h4>
    574 
    575 <div>
    576 
    577 <p>The ARM target now includes a full featured macro assembler, including
    578    direct-to-object module support for clang. The assembler is currently enabled
    579    by default for Darwin only pending testing and any additional necessary
    580    platform specific support for Linux.</p>
    581 
    582 <p>Full support is included for Thumb1, Thumb2 and ARM modes, along with
    583    subtarget and CPU specific extensions for VFP2, VFP3 and NEON.</p>
    584 
    585 <p>The assembler is Unified Syntax only (see ARM Architecural Reference Manual
    586    for details). While there is some, and growing, support for pre-unfied
    587    (divided) syntax, there are still significant gaps in that support.</p>
    588 
    589 </div>
    590 
    591 </div>
    592 
    593 <!--=========================================================================-->
    594 <h3>
    595 <a name="MIPS">MIPS Target Improvements</a>
    596 </h3>
    597 
    598 <div>
    599 
    600 <p>New features and major changes in the MIPS target include:</p>
    601 
    602 <ul>
    603   <li>...</li>
    604 </ul>
    605 
    606 </div>
    607 
    608 <!--=========================================================================-->
    609 <h3>
    610 <a name="OtherTS">Other Target Specific Improvements</a>
    611 </h3>
    612 
    613 <div>
    614 
    615 <ul>
    616   <li>...</li>
    617 </ul>
    618 
    619 </div>
    620 
    621 <!--=========================================================================-->
    622 <h3>
    623 <a name="changes">Major Changes and Removed Features</a>
    624 </h3>
    625 
    626 <div>
    627 
    628 <p>If you're already an LLVM user or developer with out-of-tree changes based on
    629    LLVM 3.2, this section lists some "gotchas" that you may run into upgrading
    630    from the previous release.</p>
    631 
    632 <ul>
    633   <li>...</li>
    634 </ul>
    635 
    636 </div>
    637 
    638 <!--=========================================================================-->
    639 <h3>
    640 <a name="api_changes">Internal API Changes</a>
    641 </h3>
    642 
    643 <div>
    644 
    645 <p>In addition, many APIs have changed in this release.  Some of the major
    646    LLVM API changes are:</p>
    647 
    648 <ul>
    649   <li>...</li>
    650 </ul>
    651 
    652 </div>
    653 
    654 <!--=========================================================================-->
    655 <h3>
    656 <a name="tools_changes">Tools Changes</a>
    657 </h3>
    658 
    659 <div>
    660 
    661 <p>In addition, some tools have changed in this release. Some of the changes
    662    are:</p>
    663 
    664 <ul>
    665   <li>...</li>
    666 </ul>
    667 
    668 </div>
    669 
    670 
    671 <!--=========================================================================-->
    672 <h3>
    673 <a name="python">Python Bindings</a>
    674 </h3>
    675 
    676 <div>
    677 
    678 <p>Officially supported Python bindings have been added! Feature support is far
    679    from complete. The current bindings support interfaces to:</p>
    680 
    681 <ul>
    682   <li>...</li>
    683 </ul>
    684 
    685 </div>
    686 
    687 </div>
    688 
    689 <!-- *********************************************************************** -->
    690 <h2>
    691   <a name="knownproblems">Known Problems</a>
    692 </h2>
    693 <!-- *********************************************************************** -->
    694 
    695 <div>
    696 
    697 <p>LLVM is generally a production quality compiler, and is used by a broad range
    698    of applications and shipping in many products.  That said, not every
    699    subsystem is as mature as the aggregate, particularly the more obscure
    700    targets.  If you run into a problem, please check
    701    the <a href="http://llvm.org/bugs/">LLVM bug database</a> and submit a bug if
    702    there isn't already one or ask on
    703    the <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVMdev
    704    list</a>.</p>
    705 
    706   <p>Known problem areas include:</p>
    707 
    708 <ul>
    709   <li>The CellSPU, MSP430, PTX and XCore backends are experimental.</li>
    710 
    711   <li>The integrated assembler, disassembler, and JIT is not supported by
    712       several targets. If an integrated assembler is not supported, then a
    713       system assembler is required.  For more details, see the <a
    714       href="CodeGenerator.html#targetfeatures">Target Features Matrix</a>.
    715   </li>
    716 </ul>
    717 
    718 </div>
    719 
    720 <!-- *********************************************************************** -->
    721 <h2>
    722   <a name="additionalinfo">Additional Information</a>
    723 </h2>
    724 <!-- *********************************************************************** -->
    725 
    726 <div>
    727 
    728 <p>A wide variety of additional information is available on
    729    the <a href="http://llvm.org/">LLVM web page</a>, in particular in
    730    the <a href="http://llvm.org/docs/">documentation</a> section.  The web page
    731    also contains versions of the API documentation which is up-to-date with the
    732    Subversion version of the source code.  You can access versions of these
    733    documents specific to this release by going into the "<tt>llvm/doc/</tt>"
    734    directory in the LLVM tree.</p>
    735 
    736 <p>If you have any questions or comments about LLVM, please feel free to contact
    737    us via the <a href="http://llvm.org/docs/#maillist"> mailing lists</a>.</p>
    738 
    739 </div>
    740 
    741 <!-- *********************************************************************** -->
    742 
    743 <hr>
    744 <address>
    745   <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
    746   src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a>
    747   <a href="http://validator.w3.org/check/referer"><img
    748   src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
    749 
    750   <a href="http://llvm.org/">LLVM Compiler Infrastructure</a><br>
    751   Last modified: $Date$
    752 </address>
    753 
    754 </body>
    755 </html>
    756