Linked by Eugenia Loli-Queru on Sat 2nd Jun 2007 22:44 UTC, submitted by Hakime
Thread beginning with comment 244932
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.




Member since:
2005-08-10
"Low Level Virtual Machine, generally known as LLVM, is a compiler infrastructure designed for compile-time, link-time, run-time, and "idle-time" optimization of programs written in arbitrary programming languages.
Using LLVM, one can create a virtual machine for languages similar to Java and JVM relation, a code generator for a specific machine architecture and optimizers independent from particular platforms or languages. LLVM is language and architecture independent; it lies between a language-specific module and a code generator for a machine. LLVM includes aggressive interprocedural optimization support, static and JIT compilers, and has many components in various stages of development (including Java bytecode and MSIL frontends, a Python frontend, a new graph coloring register allocator, and more). The JIT compiler is capable of optimising unnecessary static branches out of a program at runtime, and is therefore useful for cases where a program has many options, most of which can easily be determined unnecessary in any environment. Because of this, it is used in the OpenGL pipeline of Mac OS X 10.5 ("Leopard") to provide support for missing hardware features.
It currently supports the compilation of C and C++ programs, using front-ends derived from version 3.4 and 4.0.1 of the GNU Compiler Collection (GCC). LLVM is written in C++ and was started in 2000 at the University of Illinois at Urbana-Champaign. It is publicly available under the University of Illinois Open Source License [1], an OSI-approved license that is very similar to the BSD license."
http://en.wikipedia.org/wiki/LLVM