LLVM 3.2

Robust system for developing new mid-level language-independent analysis and optimizations of all sorts

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!

What's new in LLVM 3.2:

  • Major New Features:
  • Loop Vectorizer.
  • New implementation of SROA.
  • New NVPTX back-end (replacing existing PTX back-end) based on NVIDIA sources.
Read full changelog
send us
an update
71.1 MB
3.6/5 17
Home \ Developer Tools
1 LLVM Screenshot:
LLVM - By launching the llc tool in a Terminal window and writing the "--help" parameter, you will be able to view the program's options.
LLVM (Low Level Virtual Machine) is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations of all sorts, including those that require extensive interprocedural analysis.

LLVM is also a great target for front-end development for conventional or research programming languages, including those which require compile-time, link-time, or run-time optimization for effective implementation, proper tail calls or garbage collection.

Low Level Virtual Machine (LLVM) is:
· A compilation strategy designed to enable effective program optimization across the entire lifetime of a program. 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.
· A virtual instruction set - LLVM is a low-level object code representation that uses simple RISC-like instructions, but provides rich, language-independent, type information and dataflow (SSA) information about operands. This combination enables sophisticated transformations on object code, while remaining light-weight enough to be attached to the executable. This combination is key to allowing link-time, run-time, and offline transformations.
· A compiler infrastructure - 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, a link-time optimization framework with a growing set of global and interprocedural analyses and transformations, static back-ends for the X86, ARM, Thumb, IA-64, Alpha, SPARC, X86-64, PowerPC 32/64, MIPS and CellSPU architectures, a back-end which emits portable C code, and a Just-In-Time compiler for X86, X86-64, PowerPC 32/64 processors, and an emitter for MSIL.
· LLVM does not imply things that you would expect from a high-level virtual machine. It does not require garbage collection or run-time code generation (In fact, LLVM makes a great static compiler!). Note that optional LLVM components can be used to build high-level virtual machines and other systems that need these services.

NOTE: LLVM is licensed and distributed under the University of Illinois Open Source License.

Last updated on February 17th, 2013

Runs on: Mac OS X (Intel only)

feature list

#compiler infrastructure #optimization development #compilation strategy #compile #compiler #optimization #strategy

Add your review!