diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index 367f6cb6ba2..64ccac48e18 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -74,9 +74,9 @@ Release Notes.
The LLVM 3.1 distribution currently consists of code from the core LLVM
repository (which roughly includes the LLVM optimizers, code generators and
- supporting tools), and the Clang repository. In
- addition to this code, the LLVM Project includes other sub-projects that are
- in development. Here we include updates on these subprojects.
+ supporting tools), and the Clang repository. In addition to this code, the
+ LLVM Project includes other sub-projects that are in development. Here we
+ include updates on these subprojects.
@@ -107,10 +107,9 @@ Release Notes.
Objective C.
-
For more details about the changes to Clang since the 3.0 release, see the
-Clang release notes
-
-
+For more details about the changes to Clang since the 3.0 release, see the
+ Clang release
+ notes.
If Clang rejects your code but another compiler accepts it, please take a
look at the language
@@ -125,6 +124,7 @@ Release Notes.
+
DragonEgg is a
gcc plugin that replaces GCC's
optimizers and code generators with LLVM's. It works with gcc-4.5 and gcc-4.6
@@ -135,8 +135,7 @@ Release Notes.
The 3.1 release has the following notable changes:
-
-
+
- Partial support for gcc-4.7. Ada support is poor, but other languages work
fairly well.
@@ -151,7 +150,6 @@ Release Notes.
aliasing and type ranges to the LLVM optimizers.
- A regression test-suite was added.
-
@@ -172,8 +170,6 @@ Release Notes.
implementations of this and other low-level routines (some are 3x faster than
the equivalent libgcc routines).
-....
-
@@ -189,8 +185,6 @@ Release Notes.
expression parsing (particularly for C++) and uses the LLVM JIT for target
support.
-...
-
@@ -204,8 +198,6 @@ Release Notes.
licensed under the MIT and UIUC license, allowing it to be used more
permissively.
-...
-
@@ -215,16 +207,12 @@ Release Notes.
-
The VMKit project is an
- implementation of a Java Virtual Machine (Java VM or JVM) that uses LLVM for
- static and just-in-time compilation.
+
The VMKit project is an implementation
+ of a Java Virtual Machine (Java VM or JVM) that uses LLVM for static and
+ just-in-time compilation.
-
In the LLVM 3.1 time-frame, VMKit has had significant improvements on both
- runtime and startup performance:
-
-
+
In the LLVM 3.1 time-frame, VMKit has had significant improvements on both
+ runtime and startup performance.
@@ -236,25 +224,23 @@ Release Notes.
-
Polly is an experimental
+
Polly is an experimental
optimizer for data locality and parallelism. It currently provides high-level
loop optimizations and automatic parallelisation (using the OpenMP run time).
Work in the area of automatic SIMD and accelerator code generation was
- started.
+ started.
-
Within the LLVM 3.1 time-frame there were the following highlights:
+
Within the LLVM 3.1 time-frame there were the following highlights:
-
+
- Polly became an official LLVM project
- - Polly can be loaded directly into clang (Enabled by '-O3 -mllvm -polly'
- )
- - An automatic scheduling optimizer (derived from Pluto) was integrated. It
- performs loop transformations to optimize for data-locality and parallelism.
- The transformations include, but are not limited to interchange, fusion,
- fission, skewing and tiling.
-
-
+ - Polly can be loaded directly into clang (enabled by '-O3 -mllvm -polly')
+ - An automatic scheduling optimizer (derived
+ from Pluto) was
+ integrated. It performs loop transformations to optimize for data-locality
+ and parallelism. The transformations include, but are not limited to
+ interchange, fusion, fission, skewing and tiling.
+
@@ -447,7 +433,6 @@ Release Notes.
A full featured assembler and direct-to-object support for ARM.
Basic Block Placement
Probability driven basic block placement.
- ....
@@ -463,22 +448,22 @@ Release Notes.
LLVM IR has several new features for better support of new targets and that
expose new optimization opportunities:
-
- - A new type representing 16 bit half floating point values has
- been added.
- - IR now supports vectors of pointers, including vector GEPs.
- - Module flags have been introduced. They convey information about the
- module as a whole to LLVM subsystems. This is currently used to encode
- Objective C ABI information.
- - Loads can now have range metadata attached to them to describe the
- possible values being loaded.
- - The llvm.ctlz and llvm.cttz intrinsics now have an
- additional argument which indicates whether the behavior of the intrinsic
- is undefined on a zero input. This can be used to generate more efficient
- code on platforms that only have instructions which don't return the type
- size when counting bits in 0.
- - ....
-
+
+ - A new type representing 16 bit half floating point values has
+ been added.
+ - IR now supports vectors of pointers, including vector GEPs.
+ - Module flags have been introduced. They convey information about the
+ module as a whole to LLVM subsystems. This is currently used to encode
+ Objective C ABI information.
+ - Loads can now have range metadata attached to them to describe the
+ possible values being loaded.
+ - The llvm.ctlz and llvm.cttz intrinsics now have an
+ additional argument which indicates whether the behavior of the intrinsic
+ is undefined on a zero input. This can be used to generate more efficient
+ code on platforms that only have instructions which don't return the type
+ size when counting bits in 0.
+
+
@@ -504,7 +489,6 @@ Release Notes.
Inline cost heuristics have been completely overhauled and now closely
model constant propagation through call sites, disregard trivially dead
code costs, and can model C++ STL iterator patterns.
- ....
@@ -527,7 +511,6 @@ Release Notes.
The integrated assembler can optionally emit debug information when
assembling a .s file. It can be enabled by passing the
-g option to llvm-mc.
- ....
@@ -683,12 +666,8 @@ syntax, there are still significant gaps in that support.
-
Support for Qualcomm's Hexagon VLIW processor has been added.
-
- - ....
-
-
+ - Support for Qualcomm's Hexagon VLIW processor has been added.
@@ -720,7 +699,6 @@ syntax, there are still significant gaps in that support.
LLVM 3.0 and earlier automatically added the returns_twice fo functions
like setjmp based on the name. This functionality was removed in 3.1.
This affects Clang users, if -ffreestanding is used.
- ....
@@ -767,9 +745,9 @@ syntax, there are still significant gaps in that support.
llvm::getTrapFunctionName()
llvm::EnableSegmentedStacks
- The MDBuilder class has been added to simplify the creation of
- metadata.
- ....
+
+ The MDBuilder
class has been added to simplify the creation
+ of metadata.
@@ -791,7 +769,6 @@ syntax, there are still significant gaps in that support.
The llvm-ld tool has been removed. The clang driver provides a
more reliable solution for turning a set of bitcode files into a binary.
To merge bitcode files llvm-link can be used instead.
- ....