To read all comments associated with this story, please click here.
LLVM is a couple of things.
1) It is a low-level intermediate language. It's semantics are very similar to a stripped-down C, but it looks more like a very high-level portable assembler.
2) A compiler framework, consisting of libraries that take LLVM source files, apply very powerful SSA-based optimizations to them, and generate machine code.
The benefits to GCC are two-fold:
1) It gives GCC a much more rigorously-defined and well-documented intermediate representation.
2) It grants GCC access to a very clean optimization framework, as well as set of modern optimizations. These vary from ones that are common in commercial compilers (many scaler SSA optimizations), to ones that are available in only the best commercial compilers (inter-procedural analysis at link time), to ones that are not yet available on commercial compilers (large scale data structure optimizations).






Member since:
I don' t have understood very well: is llvm a precompiler for gcc? for gain better optimization?
it work actually? (also on powerpc apple machine)