From 1dcca8bd5e2a5553b94c19917747a8412b52064f Mon Sep 17 00:00:00 2001
From: Chris Lattner
Date: Wed, 21 Apr 2010 06:23:40 +0000
Subject: [PATCH] continue the process of detangling this.
llvm-svn: 101992
---
llvm/docs/ReleaseNotes.html | 125 +++++++++++++++++++++++++++---------
1 file changed, 95 insertions(+), 30 deletions(-)
diff --git a/llvm/docs/ReleaseNotes.html b/llvm/docs/ReleaseNotes.html
index 736ef3786bf3..9b65c6f3d549 100644
--- a/llvm/docs/ReleaseNotes.html
+++ b/llvm/docs/ReleaseNotes.html
@@ -257,6 +257,11 @@ The first dragonegg release will occur shortly after llvm-2.7 is released.
The LLVM Machine Code (MC) Toolkit project is ...
+
+MC Disassembler (with blog post), MCInstPrinter. Many X86 backend and AsmPrinter simplifications
+Can transcode from GAS to intel syntax with "llvm-mc foo.s -output-asm-variant=1"
+
+
@@ -380,16 +385,22 @@ organization changes have happened:
- LLVM has a new official Logo!
-- llvm.org is now hosted on a new (and much
-faster) server. It is still hosted as the University of Illinois.
-
- Ted Kremenek and Doug Gregor have stepped forward as Code Owners of the
Clang static analyzer and the Clang Frontend, respectively.
-
+
+- LLVM now has an official Blog at
+ http://blog.llvm.org. This is a great way
+ to learn about new LLVM-related features as they are implemented. Several
+ features in this release are already explained on the blog.
+
- The LLVM web pages are now checked into the SVN server, in the "www",
"www-pubs" and "www-releases" SVN modules. Previously they were hidden in a
largely inaccessible old CVS server.
+
+
- llvm.org is now hosted on a new (and much
+ faster) server. It is still graciously hosted at the University of Illinois
+ of Urbana Champaign.
@@ -403,25 +414,47 @@ faster) server. It is still hosted as the University of Illinois.
LLVM 2.7 includes several major new capabilities:
-- New MicroBlaze backend. http://en.wikipedia.org/wiki/MicroBlaze
+- This release includes initial support for the MicroBlaze target.
+ MicroBlaze is a soft processor core designed for Xilinx FPGAs.
-- Extensible metadata solid.
+- LLVM 2.7 includes a new LLVM IR "extensible metadata" feature. This feature
+ supports many different use cases, including allowing front-end authors to
+ encode source level information into LLVM IR, which is consumed by later
+ language-specific passes. This is a great way to do high-level optimizations
+ like devirtualization, type-based alias analysis, etc. See the
+ Extensible Metadata Blog Post for more information.
+
+- LLVM 2.7 encodes debug information
+in a completely new way, built on extensible metadata. The new implementation
+is much more memory efficient and paves the way for improvements to optimized
+code debugging experience.
-- Debug info improvements: using metadata instead of llvm.dbg global variables.
-This brings several enhancements including improved compile times.
+- LLVM 2.7 now directly supports taking the address of a label and doing an
+ indirect branch through a pointer. This is particularly useful for
+ interpreter loops, and is used to implement the GCC "address of label"
+ extension. For more information, see the
+Address of Label and Indirect Branches in LLVM IR Blog Post.
-
- Indirect branch + address of label (blog post), particularly useful for
-interpreters.
+- LLVM 2.7 is the first release to start supporting APIs for assembling and
+ disassembling target machine code. These APIs are useful for a variety of
+ low level clients, and are surfaced in the new "enhanced disassembly" API.
+ For more information see the The X86
+ Disassembler Blog Post for more information.
-- New instruction selector.
+- LLVM 2.7 includes major parts of the work required by the new MC Project,
+ which aims to rework our handling of low-level machine code. A few targets
+ have been refactored to support it, and work is underway to support a native
+ assembler in LLVM. This work is not complete in LLVM 2.7, but you has made
+ substantially more progress on LLVM mainline. You can read more about this
+ in the
+ Intro to the LLVM MC Project Blog Post.
+
-libllvm2.7.so?? configure with --enable-shared
-MC encoding and disassembler apis.
-MC Disassembler (with blog post), MCInstPrinter. Many X86 backend and AsmPrinter simplifications
-Can transcode from GAS to intel syntax with "llvm-mc foo.s -output-asm-variant=1"
-
-
@@ -435,12 +468,22 @@ Can transcode from GAS to intel syntax with "llvm-mc foo.s -output-asm-variant=1
expose new optimization opportunities:
-- New InlineHint and StackAlignment function attributes
-Half-float support in APFloat
-llvm.objectsize.
-New llvm/Support/Regex.h API. FileCheck now does regex's
-Pre-Alpha support for unions in IR.
-dbgs() and -debug-buffer-size=N
+
- LLVM IR now supports a 16-bit "half float" data type through two new intrinsics and APFloat support.
+- LLVM IR supports two new function
+ attributes: inlinehint and alignstack(n). The former is a hint to the
+ optimizer that a function was declared 'inline' and thus it might be useful
+ to increase the chances the the inliner actually inline it. The later
+ indicates to the code generator that the function diverges from the platform
+ ABI on stack alignment.
+- The new llvm.objectsize intrinsic
+ allows the optimizer to infer the sizes of memory objects in some cases.
+ This intrinsic is used to implement the GCC __builtin_object_size
+ extension.
+- LLVM 2.7 has pre-alpha support for unions in LLVM IR.
+ Unfortuantely, this support is not really usable in 2.7, so if you're
+ interested in pushing it forward, please help contribute to LLVM mainline.
@@ -524,6 +567,7 @@ infrastructure, which allows us to implement more aggressive algorithms and make
it run faster: