[erlang-questions] Low Level Virtual Machine (LLVM) for optimization across the intire lifetime of a program
Tue Feb 19 08:16:57 CET 2008
For what it's worth, LLVM ships with Mac OS X 10.5. It's embedded in
the OpenGL stack, for compiling vertex shaders -- which may/may not be
supported natively on any given video card, hence the need for a JIT:
On Feb 13, 2008, at 4:34 PM, Roger Larsson wrote:
> Found this interesting report via lwn.net
>> From the home page http://llvm.org/
> "A compilation strategy designed to enable effective program
> across the entire lifetime of a program. LLVM supports effective
> at compile time, link-time (particularly interprocedural), run-time
> 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
> 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
> code, while remaining light-weight enough to be attached to the
> This combination is key to allowing link-time, run-time, and offline
> A compiler infrastructure - LLVM is also a collection of source code
> 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
> analyses and transformations, static back-ends for the X86, X86-64,
> 32/64, ARM, Thumb, IA-64, Alpha and SPARC architectures, a back-end
> emits portable C code, and a Just-In-Time compiler for X86, X86-64,
> 32/64 processors.
> LLVM does not imply things that you would expect from a high-level
> machine. It does not require garbage collection or run-time code
> (In fact, LLVM makes a great static compiler!). Note that optional
> components can be used to build high-level virtual machines and
> other systems
> that need these services."
> This sounds like a much better match for code generation than Java
> or CLI.
> A suitable examination work?
> erlang-questions mailing list
More information about the erlang-questions