Sign in to follow this  
fabricius

Low Level Virtual Machine e GCC

Recommended Posts

Da OS News:

"In an email to the GCC development mailing list, one of the main developers of LLVM revealed that his recent employment at Apple has been focused on integrating LLVM with GCC, and is now proposing a long-term merge of the two projects"

Cos'è LLVM?

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, PowerPC, IA-64, Alpha, & SPARC V9 architectures, a back-end which emits portable C code, and a Just-In-Time compiler for X86, PowerPC, and SPARC V9 processors.
  • 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.
EDIT: ci possono fare varie cose, dal dare la possibilità agli sviluppatori di distribuire le applicazioni compilate in bytecode al supportare nuovi metodi di ottimizzazione nel GCC oppure al dare agli sviluppatori (o agli utenti finali) la possibilità di ottimizzare l'applicazione senza doverla ricompilare.

Share this post


Link to post
Share on other sites

Chissà se ci sono dei legami con il recente brevetto Apple sulla protezione/virtualizzazione/traduzione/emulazione del codice (quello che secondo i siti di news riguarderebbe l'uso di due OS, e invece parla di tutt'altro).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this