From caf0634d075f3993f96e39d4d49f3a8869649ce3 Mon Sep 17 00:00:00 2001
From: Chris Lattner This document contains the release notes for the LLVM compiler
-infrastructure, release 1.9. Here we describe the status of LLVM, including any
-known problems and major improvements from the previous release. The most
-up-to-date version of this document (corresponding to LLVM CVS) can be found
-on the LLVM releases web site. If you are
-not reading this on the LLVM web pages, you should probably go there because
-this document may be updated after the release. For more information about LLVM, including information about the latest
release, please check out the main LLVM
@@ -61,8 +58,18 @@ href="http://llvm.org/releases/">releases page. This is the tenth public release of the LLVM Compiler Infrastructure. This
-release incorporates a large number of enhancements, new features, and bug
+ This is the eleventh public release of the LLVM Compiler Infrastructure.
+Being the first major release since 1.0, we took this as an opportunity to
+break backwards compatibility with the LLVM 1.x bytecode and .ll file format.
+If you have LLVM 1.9 .ll files that you would like to upgrade to LLVM 2.x, we
+recommend the use of the stand alone llvm-upgrade
+tool. We intend to keep compatibility with .ll and .bc formats within the 2.x
+release series. Note that while
+ This
+release
+incorporates a large number of enhancements, new features, and bug
fixes. We recommend that all users of previous LLVM versions upgrade.
LLVM 1.9 now fully supports the x86-64 instruction set on Mac OS/X, and
-supports it on Linux (and other operating systems) when compiling in -static
-mode. LLVM includes JIT support for X86-64, and supports both Intel EMT-64T
-and AMD-64 architectures. The X86-64 instruction set permits addressing a
-64-bit addressing space and provides the compiler with twice the
-number of integer registers to use. LLVM now includes liblto which can
-be used to integrate LLVM Link-Time Optimization support into a native linker.
-This allows LLVM .bc to transparently participate with linking an application,
-even when some .o files are in LLVM form and some are not. llvm-gcc4 now supports generating debugging info for Linux, Cygwin and MinGW.
-This extends the PPC/Darwin and X86/Darwin debugging support available in the
-1.8 release. DWARF is a standard debugging format used on many platforms.
-
In addition, the LLVM target description format has itself been extended in several ways:
Further, several significant target-specific enhancements are included in -LLVM 1.9:
+LLVM 2.0:This release includes many other improvements, including improvements to - the optimizers and code generators (improving the generated code) changes to - speed up the compiler in many ways (improving algorithms and fine tuning - code), and changes to reduce the code size of the compiler itself.
+More specific changes include:
Several significant API changes have been made. If you are maintaining -out-of-tree code, please be aware that:
- -As a step towards making LLVM's integer types signless, several new -instructions have been added to LLVM. The Div instruction is now -UDiv, SDiv, and FDiv. The Rem instruction -is now URem, SRem and FRem. See the -Language Reference for details on these new -instructions.
-ConstantBool::True and ConstantBool::False have been - renamed to ConstantBool::getTrue() and - ConstantBool::getFalse().