From: Chris Lattner Date: Wed, 26 Sep 2007 05:44:21 +0000 (+0000) Subject: now with more prose. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=d4298715f6448d1d4c24c99a2f6ebd5de449cf1f;p=oota-llvm.git now with more prose. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42341 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index 2622a496ab2..c8fc2ab206c 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -93,13 +93,14 @@ analysis tools or source-to-source translators.

-

Some of the most noticable improvements this release have been in the -optimizer, speeding it up and making it more aggressive

+

Some of the most noticable feature improvements this release have been in the +optimizer, speeding it up and making it more aggressive. For example:

@@ -125,33 +128,43 @@ cases.
+

One of the main focuses of this release was performance tuning and bug + fixing. In addition to these, several new major changes occurred:

+
    -
  • Dale finished up the Tail Merging optimization in the code generator, -enabling it by default. This produces smaller code that is also faster in some -cases.
  • +
  • Dale finished up the Tail Merging optimization in the code generator, and + enabled it by default. This produces smaller code that is also faster in + some cases.
  • + +
  • Christopher Lamb implemented support for virtual register sub-registers, + which can be used to better model many forms of subregisters. As an example + use, he modified the X86 backend to use this to model truncates and + extends more accurately (leading to better code).
  • Dan Gohman changed the way we represent vectors before legalization, -significantly simplifying the SelectionDAG representation for these and making -the code generator faster for vector code.
  • + significantly simplifying the SelectionDAG representation for these and + making the code generator faster for vector code. -
  • Evan remat rewrite (coalesced intervals + folding of remat'd loads) and -live intervals improvements.
  • +
  • Evan contributed a new target independent if-converter. While it is + target independent, at this point only the ARM backend uses it so far.
  • -
  • Dan Gohman contributed support for better alignment and volatility handling -in the code generator, and significantly enhanced alignment analysis for SSE -load/store instructions.
  • +
  • Evan rewrite the way the register allocator handles rematerialization, + allowing it to be much more effective on two-address targets like X86, + and taught it to fold loads away when possible (also a big win on X86).
  • -
  • Christopher Lamb virtual register sub-register support, better truncates and -extends on X86.
  • +
  • Dan Gohman contributed support for better alignment and volatility handling + in the code generator, and significantly enhanced alignment analysis for SSE + load/store instructions. With his changes, an insufficiently-aligned SSE + load instruction turns into movups, for example.
  • Duraid Madina contributed a new "bigblock" register allocator, and Roman -Levenstein contributed several big improvements. BigBlock is optimized for code -that uses very large basic blocks. It is slightly slower than the "local" -allocator, but produces much better code.
  • + Levenstein contributed several big improvements. BigBlock is optimized for + code that uses very large basic blocks. It is slightly slower than the + "local" allocator, but produces much better code.
  • David Greene refactored the register allocator to split coalescing out from -allocation, making coalescers pluggable.
  • + allocation, making coalescers pluggable.
@@ -168,13 +181,19 @@ allocation, making coalescers pluggable.

    -
  • Bruno Cardoso Lopes contributed initial MIPS support.
  • -
  • Bill Wendling added SSSE3 support.
  • -
  • New Target independent if converter, ARM uses it so far
  • +
  • Bruno Cardoso Lopes contributed initial MIPS support. It is sufficient to + run many small programs, but is still incomplete and is not yet + fully performant.
  • + +
  • Bill Wendling added SSSE3 support to the X86 backend.
  • +
  • Nicholas Geoffray contributed improved linux/ppc ABI and JIT support.
  • +
  • Dale Johannesen rewrote handling of 32-bit float values in the X86 backend -when using the floating point stack, fixing several nasty bugs.
  • -
  • Dan contributed rematerialization support for the X86 backend.
  • + when using the floating point stack, fixing several nasty bugs. + +
  • Dan contributed rematerialization support for the X86 backend, in addition + to several X86-specific micro optimizations.
@@ -190,22 +209,28 @@ when using the floating point stack, fixing several nasty bugs.

@@ -221,15 +246,22 @@ load and store instructions.

@@ -244,10 +276,13 @@ arguments, Dan Gohman and Chandler extended it to support FP and vectors.