From 1ab8ce93720c7d7aacd30615a68b22843a2043c8 Mon Sep 17 00:00:00 2001
From: Chris Lattner
Date: Sun, 27 Nov 2011 18:47:37 +0000
Subject: [PATCH] some random notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145190 91177308-0d34-0410-b5e6-96231b3b80d8
---
docs/ReleaseNotes.html | 51 +++++++++++++++++++++---------------------
1 file changed, 26 insertions(+), 25 deletions(-)
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index 11bec09950f..d1f2cc22ff7 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -45,7 +45,8 @@ Release Notes.
This document contains the release notes for the LLVM Compiler
Infrastructure, release 3.0. Here we describe the status of LLVM, including
- major improvements from the previous release and significant known problems.
+ major improvements from the previous release, improvements in various
+ subprojects of LLVM, and some of the current users of the code.
All LLVM releases may be downloaded from
the LLVM releases web site.
@@ -62,14 +63,6 @@ Release Notes.
-
@@ -99,7 +92,7 @@ Release Notes.
provides a modular, library-based architecture that makes it suitable for
creating or integrating with other development tools. Clang is considered a
production-quality compiler for C, Objective-C, C++ and Objective-C++ on x86
- (32- and 64-bit), and for darwin/arm targets.
+ (32- and 64-bit), and for Darwin/ARM targets.
In the LLVM 3.0 time-frame, the Clang team has made many improvements:
@@ -109,9 +102,9 @@ Release Notes.
Improved support for
the C++
- 2011 standard, including implementations of non-static data member
- initializers, alias templates, delegating constructors, the range-based
- for loop, and implicitly-generated move constructors and move assignment
+ 2011 standard (aka "C++'0x"), including implementations of non-static data member
+ initializers, alias templates, delegating constructors, range-based
+ for loops, and implicitly-generated move constructors and move assignment
operators, among others.
Implemented support for some features of the upcoming C1x standard,
@@ -127,18 +120,18 @@ Release Notes.
Automatic Reference Counting (ARC) and an improved memory model
cleanly separating object and C memory.
- A migration tool for moving legacy code to ARC
+ A migration tool for moving manual retain/release code to ARC
Better support for data hiding, allowing instance variables to be
declared in implementation contexts or class extensions
- Weak linking for classes
+ Weak linking support for Objective-C classes
Improved static type checking by inferring the return type of methods
such as +alloc and -init.
- Some new features require either the Mac OS X 10.7 / iOS 5 Objective-C
- runtime, or version 1.6 or later of the GNUstep Objective-C runtime
- version.
+ Some new Objective-C features require either the Mac OS X 10.7 / iOS 5
+ Objective-C runtime, or version 1.6 or later of the GNUstep Objective-C
+ runtime version.
Implemented a number of optimizations in libclang, the Clang C
interface, to improve the performance of code completion and the mapping
@@ -169,6 +162,7 @@ Release Notes.
The 3.0 release has the following notable changes:
+
- GCC version 4.6 is now fully supported.
- Patching and building GCC is no longer required: the plugin should work
@@ -177,16 +171,12 @@ Release Notes.
- The -fplugin-arg-dragonegg-enable-gcc-optzns option, which runs
GCC's optimizers as well as LLVM's, now works much better. This is the
- option to use if you want ultimate performance! It not yet completely
- stable: it may cause the plugin to crash.
+ option to use if you want ultimate performance! It is still experimental
+ though: it may cause the plugin to crash.
The type and constant conversion logic has been almost entirely rewritten,
fixing a multitude of obscure bugs.
-
@@ -207,7 +197,9 @@ Release Notes.
implementations of this and other low-level routines (some are 3x faster than
the equivalent libgcc routines).
-In the LLVM 3.0 timeframe,
+In the LLVM 3.0 timeframe, the target specific ARM code has converted to
+ "unified" assembly syntax, and several new functions have been added to the
+ library.
@@ -740,6 +732,15 @@ be used to verify some algorithms.
+
+
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: