It is actually a collection of technologies for compiling and running code.
Here are some key features of "LLVM":
· Based on the GCC 4.2 parsers
· Many GCC extensions are supported
· Online and offline code representation
· Works with assembly (ASCII) and bytecode (binary) readers, writers, and verifiers
· Pass-management system
· Wide range of global scalar optimizations
· Link-time interprocedural optimization framework
· Rich set of analyses and transformations
· Sophisticated whole-program pointer analysis
· Call graph construction
· Support for profile-guided optimizations
· Retargettable code generator
· Supports X86, X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, SystemZ, and XCore
· JIT code generation system
· DWARF debugging information
· Profiling system
· Test and benchmarking framework
· Included APIs
· Debugging tools
What's New in This Release: [ read full changelog ]
· Support for ARM processors. Some essential gcc headers that are needed to build DragonEgg for ARM are not installed by gcc. To work around this, copy the missing headers from the gcc source tree.
· Better optimization for Fortran by exploiting the fact that Fortran scalar arguments have 'restrict' semantics.
· Better optimization for all languages by passing information about type aliasing and type ranges to the LLVM optimizers.
· A regression test-suite was added.