some random notes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145190 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2011-11-27 18:47:37 +00:00
parent c608b708ef
commit 1ab8ce9372

View File

@ -45,7 +45,8 @@ Release Notes</a>.</h1>
<p>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 <a href="http://llvm.org/releases/">LLVM releases web site</a>.</p>
@ -62,14 +63,6 @@ Release Notes</a>.</h1>
</div>
<!-- Features that need text if they're finished for 3.1:
ARM EHABI
combiner-aa?
strong phi elim
loop dependence analysis
CorrelatedValuePropagation
lib/Transforms/IPO/MergeFunctions.cpp => consider for 3.1.
-->
<!-- *********************************************************************** -->
<h2>
@ -99,7 +92,7 @@ Release Notes</a>.</h1>
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.</p>
(32- and 64-bit), and for Darwin/ARM targets.</p>
<p>In the LLVM 3.0 time-frame, the Clang team has made many improvements:</p>
@ -109,9 +102,9 @@ Release Notes</a>.</h1>
<li><a href="http://clang.llvm.org/cxx_status.html">Improved support</a> for
the <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=50372">C++
2011</a> 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</a> 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.</li>
<li>Implemented support for some features of the upcoming C1x standard,
@ -127,18 +120,18 @@ Release Notes</a>.</h1>
Automatic Reference Counting</a> (ARC) and an improved memory model
cleanly separating object and C memory.</li>
<li>A migration tool for moving legacy code to ARC</li>
<li>A migration tool for moving manual retain/release code to ARC</li>
<li>Better support for data hiding, allowing instance variables to be
declared in implementation contexts or class extensions</li>
<li>Weak linking for classes</li>
<li>Weak linking support for Objective-C classes</li>
<li>Improved static type checking by inferring the return type of methods
such as +alloc and -init.</li>
</ul>
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.</li>
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.</li>
<li>Implemented a number of optimizations in <tt>libclang</tt>, the Clang C
interface, to improve the performance of code completion and the mapping
@ -169,6 +162,7 @@ Release Notes</a>.</h1>
<p>The 3.0 release has the following notable changes:</p>
<ul>
<li>GCC version 4.6 is now fully supported.</li>
<li>Patching and building GCC is no longer required: the plugin should work
@ -177,16 +171,12 @@ Release Notes</a>.</h1>
<li>The <tt>-fplugin-arg-dragonegg-enable-gcc-optzns</tt> 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.</li>
option to use if you want ultimate performance! It is still experimental
though: it may cause the plugin to crash.</li>
<li>The type and constant conversion logic has been almost entirely rewritten,
fixing a multitude of obscure bugs.</li>
<ul>
<!--
<li></li>
-->
</ul>
</div>
@ -207,7 +197,9 @@ Release Notes</a>.</h1>
implementations of this and other low-level routines (some are 3x faster than
the equivalent libgcc routines).</p>
<p>In the LLVM 3.0 timeframe,</p>
<p>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.</p>
</div>
@ -740,6 +732,15 @@ be used to verify some algorithms.
<div>
<!-- Features that need text if they're finished for 3.1:
ARM EHABI
combiner-aa?
strong phi elim
loop dependence analysis
CorrelatedValuePropagation
lib/Transforms/IPO/MergeFunctions.cpp => consider for 3.1.
-->
<p><b>llvm-gcc is gone</b>. LLVM's configure script doesn't depend on llvm-gcc anymore, clean layering.</p>
<p>LLVM 3.0 includes several major new capabilities:</p>