From 1c80fbfeca2cd5d871d905bed26aea4671ee8f3d Mon Sep 17 00:00:00 2001
From: Chris Lattner
Date: Sun, 27 Nov 2011 20:51:47 +0000
Subject: [PATCH] distribute various bullets to different sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145196 91177308-0d34-0410-b5e6-96231b3b80d8
---
docs/ReleaseNotes.html | 418 ++++++++++++++++++++++-------------------
1 file changed, 222 insertions(+), 196 deletions(-)
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index 7568575d9be..d756fb3576e 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -743,210 +743,54 @@ be used to verify some algorithms.
loop dependence analysis
CorrelatedValuePropagation
lib/Transforms/IPO/MergeFunctions.cpp => consider for 3.1.
- -->
+ Integrated assembler on by default for arm/thumb?
-llvm-gcc is gone. LLVM's configure script doesn't depend on llvm-gcc anymore, clean layering.
+ -->
-LLVM 3.0 includes several major new capabilities:
-
-
-
-
-
-
-
-
+ -->
-
-
-
@@ -958,8 +802,15 @@ Builder.CreateResume(UnwindData);
LLVM IR has several new features for better support of new targets and that
expose new optimization opportunities:
-
-
+ New llvm.expect intrinsic.
+ New llvm.fma intrinsic.
+
+ LangRef.html#fnattrs uwtable attribute for asynch unwind tables.
+ llvm.prefetch now takes a 4th argument that specifies whether the prefetch happens to the icache or dcache.
+ New nonlazybind function attribute.
+ data layout string can encode the natural alignment of the target's stack for better optimization (LangRef.html#datalayout)
+ returns_twice attribute (rafael)
+
@@ -997,6 +848,8 @@ Builder.CreateResume(UnwindData);
optimizers:
+ Pass manager extension API.
+
- Information about branch probability
and basic block frequency is now available within LLVM, based on a
combination of static branch prediction heuristics and
@@ -1004,7 +857,9 @@ Builder.CreateResume(UnwindData);
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.
-
+
+ ARC language specific optimizer (Transforms/ObjCARC) a decent example of language-specific transformation.
+
@@ -1038,6 +893,17 @@ compiler and provides better integration with the platform ABI as a result.
the Intro
to the LLVM MC Project Blog Post.
+
+ InstAliases now automatically used in the asmprinter where they are shorter.
+
+ Table generated MC expansion logic for pseudo instructions that expand to multiple MC instructions through the PseudoInstExpansion class. (JimG)
+
+ #line directives in integrated assembler
+
+ llvm-rtdyld: JimG
+ llvm-objdump / dwarf parser library / llvm-dwarfdump (d0k)
+ object file parsing stuff and llvm-size (mspencer)
+
@@ -1052,6 +918,17 @@ compiler and provides better integration with the platform ABI as a result.
make it run faster:
+
+ better performance for indirect gotos through new tail dup pass.
+
+ Codegen now supports vector "select" operations on vector comparisons, turning
+ them into various optimized code sequences (e.g. using the SSE4/AVX "blend"
+ instructions).
+
+ EH and debug information produced with CFI directives, yielding smaller executables: http://blog.mozilla.com/respindola/2011/05/12/cfi-directives/
+
+ Domain fixing pass is now target independent (ExecutionDepsFix pass). (Jakob)
+
@@ -1081,6 +958,16 @@ compiler and provides better integration with the platform ABI as a result.
@llvm.x86.sse42.crc32.32.[8|16|32]
and
@llvm.x86.sse42.crc32.64.[8|64]
.
+ X86: inline assembler supports .code32 and .code64.
+ AVX support, assembler, compiler and disassembler.
+ X86 backend support for NaCl (David Meyer / Nick L)
+ SSE domain fixing code enabled for AVX (Bruno/Jakob).
+ X86 backend synthesizes horizontal add/sub instructions from generic code.
+ X86: Tons of encoding improvements and new instructions (e.g. Atom, Ivy Bridge,
+ and BMI instructions)
+ added to assembler and disassembler (Craig Topper)
+ X86-64 generates smaller and faster code at -O0 (fast isel improvements)
+
@@ -1098,6 +985,12 @@ compiler and provides better integration with the platform ABI as a result.
Reworked Set Jump Long Jump EH Lowering,
improved support for Cortex-M series processors, and
beta quality integrated assembler support.
+
+ Better code generation for Cortex-A9
+ ARM inline asm constraints implemented.
+ Old arm disassembler replaced with a new one based on autogenerated encoding information from ARM .td files.
+ Better performance for Neon code in clang due to SRoA improvements.
+
@@ -1181,6 +1074,15 @@ compiler and provides better integration with the platform ABI as a result.
from the previous release.
+ - LLVM's configure script doesn't depend on llvm-gcc anymore, clean layering.
+ LLVM 3.0 removes support for reading LLVM 2.8 and earlier files. Aim to maintain compatibility all the way back to 3.0 "forever".
+ Frontend tests removed from llvm/test/Frontend*
+ Tablegen has been split into a library, clang tblgen pieces now live in clang.
+ The llvm version is now named llvm-tblgen instead of tblgen.
+ PostOrder Dominator frontiers were removed.
+ LowerSetJmp pass removed, unused.
+
+
- The
LLVMC
meta compiler driver was removed.
- The
LowerSetJmp
pass wasn't used effectively by any
target and has been removed.
@@ -1343,8 +1245,8 @@ compiler and provides better integration with the platform ABI as a result.
- The Alpha, Blackfin, CellSPU, MSP430, PTX, SystemZ and
- XCore backends are experimental, and several of these have already been
- removed from mainline.
+ XCore backends are experimental, and the Alpha, Blackfin and SystemZ
+ targets have already been removed from mainline.
- The integrated assembler, disassembler, and JIT is not supported by
several targets. If an integrated assembler is not supported, then a
@@ -1381,6 +1283,130 @@ compiler and provides better integration with the platform ABI as a result.
+
+
+
+
+
--
2.34.1