From: Michael J. Spencer Date: Mon, 28 Nov 2011 18:20:09 +0000 (+0000) Subject: Add object file related release notes. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=60f790c329b2f0fa9e83acfadd8858e6b4eef071;p=oota-llvm.git Add object file related release notes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145254 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index 435bd932667..4bd5cab7ad3 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -62,8 +62,8 @@ Release Notes. releases page.

- - + +

Sub-project Status Update @@ -99,7 +99,7 @@ Release Notes.

- +

If Clang rejects your code but another compiler accepts it, please take a look at the language compatibility guide to make sure this is not intentional or a known @@ -209,7 +209,7 @@ Release Notes.

- +

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 @@ -273,7 +273,7 @@ Release Notes.

- +

@@ -326,7 +326,7 @@ be used to verify some algorithms.

AddressSanitizer

- +

AddressSanitizer @@ -339,7 +339,7 @@ be used to verify some algorithms.

ClamAV

- +

Clam AntiVirus is an open source (GPL) @@ -407,10 +407,10 @@ be used to verify some algorithms. typing.

- +

Eero

- +

Eero is a fully @@ -426,7 +426,7 @@ be used to verify some algorithms.

FAUST Real-Time Audio Signal Processing Language

- +

FAUST is a compiled language for @@ -441,7 +441,7 @@ be used to verify some algorithms.

Glasgow Haskell Compiler (GHC)

- +

GHC is an open source, state-of-the-art programming suite for Haskell, a @@ -507,7 +507,7 @@ be used to verify some algorithms. example program. ispc is licensed under the BSD license.

- +

The Julia Programming Language

@@ -597,7 +597,7 @@ be used to verify some algorithms.

Pure

- +

Pure is an algebraic/functional programming language based on term rewriting. Programs @@ -610,7 +610,7 @@ be used to verify some algorithms. languages (including the ability to load LLVM bitcode modules, and inline C, C++, Fortran and Faust code in Pure programs if the corresponding LLVM-enabled compilers are installed).

- +

Pure version 0.48 has been tested and is known to work with LLVM 3.0 (and continues to work with older LLVM releases >= 2.5).

@@ -671,7 +671,7 @@ be used to verify some algorithms. co-design flow from C/C++ programs down to synthesizable VHDL and parallel program binaries. Processor customization points include the register files, function units, supported operations, and the interconnection network.

- +

TCE uses Clang and LLVM for C/C++ language support, target independent optimizations and also for parts of code generation. It generates new LLVM-based code generators "on the fly" for the designed TTA processors and @@ -679,7 +679,7 @@ be used to verify some algorithms. per-target recompilation of larger parts of the compiler chain.

- +

Tart Programming Language

@@ -756,15 +756,15 @@ be used to verify some algorithms.

LLVM 3.0 includes several major changes and big features:

    -
  • llvm-gcc is no longer supported, and not included in the release. We +
  • llvm-gcc is no longer supported, and not included in the release. We recommend switching to Clang or Clang or DragonEgg.
  • The linear scan register allocator has been replaced with a new "greedy" register allocator, enabling live range splitting and many other optimizations that lead to better code quality. Please see its blog post or its talk at the blog post or its talk at the Developer Meeting for more information.
  • LLVM IR now includes full support for atomics @@ -782,15 +782,15 @@ be used to verify some algorithms. documentation for more information.
  • The LLVM IR Type system has been redesigned and reimplemented, making it faster and solving some long-standing problems. - Please see its blog post for more information.
  • - +
  • The MIPS backend has made major leaps in this release, going from an experimental target to being virtually production quality and supporting a wide variety of MIPS subtargets. See the MIPS section below for more information.
  • - +
  • The optimizer and code generator now supports gprof and gcov-style coverage and profiling information, and includes a new llvm-cov tool (but also works with gcov). Clang exposes coverage and profiling through GCC-compatible @@ -799,7 +799,7 @@ be used to verify some algorithms.
- +

LLVM IR and Core Improvements @@ -857,12 +857,12 @@ be used to verify some algorithms. register spill placement and if-conversion, with additional optimizations planned for future releases. The same framework is intended for eventual use with profile-guided optimization. - +
  • The "-indvars" induction variable simplification pass only modifies induction variables when profitable. Sign and zero extension elimination, linear function test replacement, loop unrolling, and other simplifications that require induction variable analysis have - been generalized so they no longer require loops to be rewritten into + been generalized so they no longer require loops to be rewritten into canonical form prior to optimization. This new design preserves more IR level information, avoids undoing earlier loop optimizations (particularly hand-optimized loops), and no longer @@ -910,10 +910,14 @@ be used to verify some algorithms.
  • TableGen can now autogenerate MC expansion logic for pseudo instructions that expand to multiple MC instructions (through the PseudoInstExpansion class).
  • -
  • A new llvm-objdump and llvm-dwarfdump tools provide a start of a drop-in - replacement for the corresponding tools that use LLVM libraries. As part of +
  • A new llvm-dwarfdump tool provides a start of a drop-in + replacement for the corresponding tool that use LLVM libraries. As part of this, LLVM has the beginnings of a dwarf parsing library.
  • -
  • XXX: object file parsing stuff and llvm-size (mspencer). Status?
  • +
  • llvm-objdump has more output including, symbol by symbol disassembly, + inline relocations, section headers, symbol tables, and section contents. + Support for archive files has also been added.
  • +
  • llvm-nm has gained support for archives of binary files.
  • +
  • llvm-size has been added. This tool prints out section sizes.
  • @@ -1011,7 +1015,7 @@ be used to verify some algorithms.
    - +

    MIPS Target Improvements @@ -1027,7 +1031,7 @@ be used to verify some algorithms.
  • LE/BE MIPS32r1/r2 has been tested extensively.
  • O32 ABI has been fully tested.
  • MIPS backend has migrated to using the MC infrastructure for assembly printing. Initial support for direct object code emission has been implemented too.
  • -
  • Delay slot filler has been updated. Now it tries to fill delay slots with useful instructions instead of always filling them with NOPs.
  • +
  • Delay slot filler has been updated. Now it tries to fill delay slots with useful instructions instead of always filling them with NOPs.
  • Support for old-style JIT is complete.
  • Support for old architectures (MIPS1 and MIPS2) has been removed.
  • Initial support for MIPS64 has been added.
  • @@ -1040,13 +1044,13 @@ be used to verify some algorithms.

    - +

    The PTX back-end is still experimental, but is fairly usable for compute kernels in LLVM 3.0. Most scalar arithmetic is implemented, as well as intrinsics to access the special PTX registers and sync instructions. The major missing pieces are texture/sampler support and some vector operations.

    - +

    That said, the backend is already being used for domain-specific languages and works well with the libclc library to supply OpenCL built-ins. With it, you can use Clang to compile @@ -1054,7 +1058,7 @@ be used to verify some algorithms. blob using the nVidia OpenCL library. It has been tested with several OpenCL programs, including some from the nVidia GPU Computing SDK, and the performance is on par with the nVidia compiler.

    - +
    @@ -1067,11 +1071,11 @@ be used to verify some algorithms. @@ -1092,7 +1096,7 @@ be used to verify some algorithms.