LLVM Publisher's description
from Misha Brukman
LLVM supports effective optimization at compile time, link-time, run-time and offline.
LLVM supports effective optimization at compile time, link-time (particularly interprocedural), run-time and offline (i.e., after software is installed), while remaining transparent to developers and maintaining compatibility with existing build scripts.
LLVM is also a collection of source code that implements the language and compilation strategy.
The primary components of the LLVM infrastructure are a GCC-based C & C front-end and a link-time optimization framework with a growing set of global and interprocedural analyses and transformations.
- Front-ends for C and C based on the GCC 3.4 and 4.0.1 parsers. They support the ANSI-standard C and C languages to the same degree that GCC supports them. Additionally, many GCC extensions are supported. LLVM also includes a front-end for "Stacker", a Forth-like language.
- A stable implementation of the LLVM instruction set, which serves as both the online and offline code representation, together with assembly (ASCII) and bytecode (binary) readers and writers, and a verifier.
- A powerful pass-management system that automatically sequences passes (including analysis, transformation, and code-generation passes) based on their dependences, and pipelines them for efficiency.
- A wide range of global scalar optimizations.
- A link-time interprocedural optimization framework with a rich set of analyses and transformations, including sophisticated whole-program pointer analysis, call graph construction, and support for profile-guided optimizations.
- An easily retargettable code generator, which currently supports X86, X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, and IA-64.
- A Just-In-Time (JIT) code generation system, which currently supports X86, X86-64, PowerPC and PowerPC-64.
- Support for generating DWARF debugging information.
- A C back-end useful for testing and for generating native code on targets other than the ones listed above.
- A profiling system similar to gprof.
- A test framework with a number of benchmark codes and applications.
- APIs and debugging tools to simplify rapid development of LLVM components.
System Requirements:No special requirements.
Program Release Status:
Program Install Support: Install Only