[llvm-commits] CVS: llvm-www/releases/1.3/announcement.txt
Chris Lattner
lattner at cs.uiuc.edu
Fri Aug 13 14:09:00 PDT 2004
Changes in directory llvm-www/releases/1.3:
announcement.txt updated: 1.1 -> 1.2
---
Log message:
Write the announcement
---
Diffs of the changes: (+57 -17)
Index: llvm-www/releases/1.3/announcement.txt
diff -u llvm-www/releases/1.3/announcement.txt:1.1 llvm-www/releases/1.3/announcement.txt:1.2
--- llvm-www/releases/1.3/announcement.txt:1.1 Thu Aug 5 15:03:53 2004
+++ llvm-www/releases/1.3/announcement.txt Fri Aug 13 16:08:49 2004
@@ -5,36 +5,76 @@
Infrastructure. If you are new to LLVM, please see "WHAT IS LLVM?" below.
If you are already familiar with LLVM, skip to "WHAT IS NEW IN LLVM 1.3?"
+
WHAT IS LLVM?
- LLVM is a new infrastructure designed for compile-time, link-time, runtime,
- and "idle-time" optimization of programs from arbitrary programming languages.
- LLVM is written in C++ and has been developed over the past 4 years at the
- University of Illinois. It currently supports compilation of C and C++
- programs using front-ends derived from GCC 3.4. After optimization, it can
- emit native X86, native SparcV9, or C code for the optimized program. New
- front-ends are in early development for Java bytecode and CAML, and new
- backends are in early development for several other targets.
+ LLVM is a set of libraries and tools that make it easy to build compilers,
+ optimizers, Just-In-Time code generators, and many other compiler-related
+ programs. As examples, LLVM includes C, C++, and Stacker compilers, that use
+ the components to build aggressively optimizing compilers. LLVM can compile
+ code to X86, SparcV9, PowerPC (beta support), or C code. Alternatively, LLVM
+ can JIT compiler code for X86 and SparcV9.
+
+ The strengths of LLVM are its extremely simple design (which makes it easy to
+ understand and use), source-language independence, powerful mid-level
+ optimizer, extensibility, and its stability and reliability.
The LLVM infrastructure is publicly available under a non-restrictive open
source license. More information about LLVM and the contents of the
publicly released software is available at the LLVM Web site above.
+
WHAT IS NEW IN LLVM 1.3?
- This release is substantially faster and introduces several new features,
- including: new optimizations, support for several GCC extensions that were not
- supported in 1.1, and support for profile-guided optimization. The X86 code
- generator in LLVM 1.3 also produces much better native code, and LLVM now
- comes with a beta-quality global register allocator. Finally, LLVM 1.3
- includes the usual collection of bug fixes and other minor improvements.
+ This release takes less time to produce faster compiled code, and is portable
+ to new targets (including Cygwin). It also includes several new features,
+ such as man pages for all LLVM tools, accurate garbage collection, some new
+ loop transformations, and includes beta support for powerpc code generation.
+ LLVM 1.3 also includes the following major improvements:
+
+ Core improvements:
+ * A new "select" instruction provides efficient conditional move support.
+ * Accurate garbage collection is fully supported by all code generators.
+ * LLVM now supports structures with more than 256 elements in them.
+ * The bytecode file format is now documented.
+ * Man pages are available for all LLVM tools.
+ * LLVM now supports unordered floating point comparisons.
+
+ Optimization improvements:
+ * The induction variable analysis routines are much more aggressive.
+ * The -indvars pass implements linear function test replacement and exit
+ value substitution.
+ * LLVM now include a context-senstitive alias analysis for global variables.
+ * LLVM includes an implementation of Andersen's alias analysis.
+ * LLVM includes new loop unrolling and loop unswitching passes.
+ * LLVM includes a simple dead store elimination pass.
+
+ Code generator improvements:
+ * The native code generators now default to a global register allocator.
+ * LLVM includes a new "skeleton" code generator.
+ * LLC and LLI can load code generators from .so files with the -load option.
+ * More code generator components are autogenerated from the abstract target
+ description.
+ * The X86 backend now generates substantially better code in many cases.
+
+ Other improvements:
+ * Bugpoint can now debug arbitrary modes of the LLC and LLI tools.
+ * Bugpoint can now narrow down codegen miscompilations to the basic block
+ being miscompiled (in many cases).
+ * Bugpoint can now debug infinite-loop inducing miscompilations.
+
+ Finally, LLVM 1.3 includes the usual collection of bug fixes and other minor
+ improvements.
A full list of new features and bug-fixes are listed in the Release Notes:
http://llvm.cs.uiuc.edu/releases/1.3/docs/ReleaseNotes.html#whatsnew
- For an easier to read set of changes, please see the status updates:
- http://mail.cs.uiuc.edu/pipermail/llvm-announce/2004-March/000006.html
- http://mail.cs.uiuc.edu/pipermail/llvm-announce/2004-February/000005.html
+ For an easier to read (and more details) list of changes, please see the
+ status updates:
+ http://mail.cs.uiuc.edu/pipermail/llvm-announce/2004-May/000008.html
+ http://mail.cs.uiuc.edu/pipermail/llvm-announce/2004-June/000009.html
+ http://mail.cs.uiuc.edu/pipermail/llvm-announce/2004-July/000010.html
+
HOW DO I GET IT?
More information about the llvm-commits
mailing list