From 8b658dbbd1ff0a881e2a7330d01d719855e1c6a8 Mon Sep 17 00:00:00 2001
From: Pawel Wodnicki
Date: Thu, 13 Dec 2012 22:03:18 +0000
Subject: Partial update for release notes
llvm-svn: 170151
---
llvm/docs/ReleaseNotes.html | 87 +++++++++++++++++++++++++++++++++------------
1 file changed, 65 insertions(+), 22 deletions(-)
diff --git a/llvm/docs/ReleaseNotes.html b/llvm/docs/ReleaseNotes.html
index a84faba..611d5c8 100644
--- a/llvm/docs/ReleaseNotes.html
+++ b/llvm/docs/ReleaseNotes.html
@@ -29,12 +29,6 @@
Written by the LLVM Team
-These are in-progress notes for the upcoming LLVM 3.2
-release.
-You may prefer the
-LLVM 3.1
-Release Notes.
-
Introduction
@@ -98,7 +92,9 @@ Release Notes.
In the LLVM 3.2 time-frame, the Clang team has made many improvements.
Highlights include:
- - ...
+ - Improvements to Clang's diagnostics
+ - Support for tls_model attribute
+ - Type safety attributes
For more details about the changes to Clang since the 3.1 release, see the
@@ -142,7 +138,8 @@ Release Notes.
-
The new LLVM compiler-rt project
+
+
The LLVM compiler-rt project
is a simple library that provides an implementation of the low-level
target-specific hooks required by code generation and other runtime
components. For example, when compiling for a 32-bit target, converting a
@@ -154,7 +151,12 @@ Release Notes.
The 3.2 release has the following notable changes:
- - ...
+ - ThreadSanitizer (TSan) - data race detector run-time library for C/C++ has been added.
+ - Improvemens to AddressSanitizer including: increasing stack size limit to 256M,
+ better portability (iOS6,Windows,Android NDK), support for cmake based builds, enhanced error reporting.
+
+ - Added support for A6 'Swift' CPU.
+ divsi3
function has been enhanced to take advantage of a hardware unsigned divide when it is available.
@@ -235,7 +237,12 @@ Release Notes.
Within the LLVM 3.2 time-frame there were the following highlights:
- - ...
+ - isl, the integer set library used by Polly, was relicensed to the MIT license
+ - isl based code generation
+ - MIT licensed replacement for CLooG (LGPLv2)
+ - Fine grained option handling (separation of core and border computations, control overhead vs. code size)
+ - Support for FORTRAN and dragonegg
+ - OpenMP code generation fixes
@@ -433,9 +440,9 @@ Release Notes.
LLVM 3.2 includes several major changes and big features:
- - ...
- - New NVPTX back-end (replacing existing PTX back-end) based on NVIDIA
- sources
+ - Loop Vectorizer.
+ - New implementation of SROA.
+ - New NVPTX back-end (replacing existing PTX back-end) based on NVIDIA sources.
@@ -454,7 +461,10 @@ Release Notes.
- Thread local variables may have a specified TLS model. See the
Language Reference Manual.
- - ...
+ - 'TYPE_CODE_FUNCTION_OLD' type code and autoupgrade code for old function attributes format has been removed.
+ - Internal representation of the Attributes class has been converted into a pointer to an
+ opaque object that's uniqued by and stored in the LLVMContext object.
+ The Attributes class then becomes a thin wrapper around this opaque object.
@@ -492,7 +502,7 @@ Release Notes.
- The inner most loops must have a single basic block.
- The number of iterations are known before the loop starts to execute.
- - The loop counter needs to be incrimented by one.
+ - The loop counter needs to be incremented by one.
- The loop trip count can be a variable.
- Loops do not need to start at zero.
- The induction variable can be used inside the loop.
@@ -527,8 +537,19 @@ Release Notes.
Intro
to the LLVM MC Project Blog Post.
-
- - ...
+
+ - Added support for following assembler directives:
.ifb
, .ifnb
, .ifc
,
+ .ifnc
, .purgem
, .rept
and .version
(ELF) as well as Darwin specific
+ .pushsection
, .popsection
and .previous
.
+ - Enhanced handling of
.lcomm directive
.
+ - MS style inline assembler: added implementation of the offset and TYPE operators.
+ - Targets can specify minimum supported NOP size for NOP padding.
+ - ELF improvements: added support for generating ELF objects on Windows.
+ - MachO improvements: symbol-difference variables are marked as N_ABS, added direct-to-object attribute for data-in-code markers.
+ - Added support for annotated disassembly output for x86 and arm targets.
+ - Arm support has been improved by adding support for ARM TARGET2 relocation
+ and fixing hadling of ARM-style "$d.*" labels.
+ - Implemented local-exec TLS on PowerPC.
@@ -591,7 +612,7 @@ Release Notes.
New features and major changes in the X86 target include:
- - ...
+ - Small codegen optimizations, especially for AVX2.
@@ -606,7 +627,7 @@ Release Notes.
New features of the ARM target include:
- - ...
+ - Support and performance tuning for the A6 'Swift' CPU.
@@ -643,7 +664,31 @@ Release Notes.
New features and major changes in the MIPS target include:
- - ...
+ - Integrated assembler support:
+ MIPS32 works for both PIC and static, known limitation is the PR14456 where
+ R_MIPS_GPREL16 relocation is generated with the wrong addend.
+ MIPS64 support is incomplete, for example exception handling is not working.
+ - Support for fast calling convention has been added.
+ - Support for Android MIPS toolchain has been added to clang driver.
+ - Added clang driver support for MIPS N32 ABI through "-mabi=n32" option.
+ - MIPS32 and MIPS64 disassembler has been implemented.
+ - Support for compiling programs with large GOTs (exceeding 64kB in size) has be added
+ through llc option "-mxgot".
+ - Experimental support for MIPS32 DSP intrinsics has been added
+ - Experimental support for MIPS16 with following limitations: only soft float is supported,
+ C++ exceptions are not supported, large stack frames (> 32000 bytes) are not supported,
+ direct object code emission is not supported yet (only .s).
+ - Standalone assembler (llvm-mc): implementation is in progress and assembler should be
+ considered experimental
+ - All classic JIT and MCJIT tests pass on Little and Big Endian MIPS32 platforms.
+ - Inline asm support: all common constraints and operand modifiers
+ have been implemented.
+ - Tail call optimization support has been added, use llc option "-enable-mips-tail-calls"
+ or clang options "-mllvm -enable-mips-tail-calls"to enable it.
+ - Improved register allocation by removing registers 'FP', 'GP', 'RA' and 'AT' from the list of reserved registers.
+ - Long branch expansion pass has been implemented, which expands branch
+ instructions with offsets that do not fit in the 16-bit field.
+ - Cavium Octeon II board is used for testing builds (llvm-mips-linux builder).
@@ -655,7 +700,6 @@ Release Notes.
-
Many fixes and changes across LLVM (and Clang) for better compliance with
the 64-bit PowerPC ELF Application Binary Interface, interoperability with
GCC, and overall 64-bit PowerPC support. Some highlights include:
@@ -684,7 +728,6 @@ Release Notes.
There have also been code generation improvements for both 32- and 64-bit
code. Instruction scheduling support for the Freescale e500mc and e5500
cores has been added.
-
--
cgit v1.1