From: Chris Lattner
Date: Sun, 8 Jun 2008 23:06:47 +0000 (+0000)
Subject: more edits
X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=43b65e99061b5306bb4616f903788126952a8a0d;p=oota-llvm.git
more edits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52109 91177308-0d34-0410-b5e6-96231b3b80d8
---
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index f34b3ca4d40..c8aa59ffa4e 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -400,16 +400,17 @@ faster:
The target-independent code generator infrastructure now uses LLVM's
APInt
class to handle integer values, which allows it to support integer types
- larger than 64 bits. Note that support for such types is also dependent on
- target-specific support. Use of APInt is also a step toward support for
- non-power-of-2 integer sizes.
+ larger than 64 bits (for example i128). Note that support for such types is
+ also dependent on target-specific support. Use of APInt is also a step
+ toward support for non-power-of-2 integer sizes.
LLVM 2.3 includes several compile time speedups for code with large basic
blocks, particularly in the instruction selection phase, register
allocation, scheduling, and tail merging/jump threading.
-Several improvements which make llc's --view-sunit-dags
- visualization of scheduling dependency graphs easier to understand.
+LLVM 2.3 includes several improvements which make llc's
+ --view-sunit-dags visualization of scheduling dependency graphs
+ easier to understand.
The code generator allows targets to write patterns that generate subreg
references directly in .td files now.
@@ -447,7 +448,7 @@ faster:
now interoperates very well on X86-64 systems with other compilers.
Support for Win64 was added. This includes code generation itself, JIT
- support and necessary changes to llvm-gcc.
+ support, and necessary changes to llvm-gcc.
The LLVM X86 backend now supports the support SSE 4.1 instruction set, and
the llvm-gcc 4.2 front-end supports the SSE 4.1 compiler builtins. Various
@@ -458,10 +459,13 @@ faster:
The X86 backend now does a number of optimizations that aim to avoid
converting numbers back and forth from SSE registers to the X87 floating
- point stack.
+ point stack. This is important because most X86 ABIs require return values
+ to be on the X87 Floating Point stack, but most CPUs prefer computation in
+ the SSE units.
The X86 backend supports stack realignment, which is particularly useful for
- vector code on OS's without 16-byte aligned stacks.
+ vector code on OS's without 16-byte aligned stacks, such as Linux and
+ Windows.
The X86 backend now supports the "sseregparm" options in GCC, which allow
functions to be tagged as passing floating point values in SSE
@@ -473,9 +477,11 @@ faster:
__builtin_prefetch is now compiled into the appropriate prefetch
instructions instead of being ignored.
-128-bit integers are now supported on X86-64 targets.
+128-bit integers are now supported on X86-64 targets. This can be used
+ through __attribute__((TImode)) in llvm-gcc.
-The register allocator can now rematerialize PIC-base computations.
+The register allocator can now rematerialize PIC-base computations, which is
+ an important optimization for register use.
The "t" and "f" inline assembly constraints for the X87 floating point stack
now work. However, the "u" constraint is still not fully supported.
@@ -495,6 +501,8 @@ faster:
- The LLVM C backend now supports vector code.
+- The Cell SPU backend includes a number of improvements. It generates better
+ code and its stability/completeness is improving.