|LLVM 1.3 Release! email@example.com (2004-08-15)|
|From:||firstname.lastname@example.org (Chris Lattner)|
|Date:||15 Aug 2004 22:15:03 -0400|
|Posted-Date:||15 Aug 2004 22:15:03 EDT|
LLVM Compiler Infrastructure -- Release 1.3
We are pleased to announce the release of version 1.3 of the LLVM Compiler
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 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 which 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 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:
* 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.
* The induction variable analysis routines are much more aggressive.
* The -indvars pass implements linear function test replacement and exit
* LLVM includes 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
* The X86 backend now generates substantially better code in many cases.
* Bugpoint can now debug arbitrary modes of the LLC and LLI tools.
* Bugpoint can now narrow down code generation 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
A full list of new features and bug-fixes are listed in the release notes:
For an easier to read (and more detailed) list of changes, please see the
HOW DO I GET IT?
Please see: http://llvm.cs.uiuc.edu/releases
Return to the
Search the comp.compilers archives again.