Can someone explain LLVM+clang?
I've read the wikipedia entries and browsed the sites and watched some YouTube videos, but I still have some simple overview questions:
When I worked with Metrowerks CodeWarrior, they had a C/C++ "front end" that converted source to "IL" (intermediate language) which was a general platform agnostic language and then different back ends for different CPU platforms such as x86 and ARM that convert the IL code to CPU native code. LLVM sounds like it is conceptually identical to what Metrowerks called "IL". It is a virtual machine in the sense that it is like a general platform agnostic CPU. Is this correct?
Secondly, LLVM+clang sounds like just another C/C++ tool chain that promises a variety of implementation improvements. Is this correct? It is supposed to be faster, cleaner, and more tool friendly than gcc, but it still does the same basic thing which is take C/C++ (and also Objective C variants) and convert to native CPU code? Are the final binaries native CPU code or are they LLVM code with an embedded interpreter?
(does this site not have a programmer forum? that seems rather odd)