"The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them. The name "LLVM" itself is not an acronym; it is the full name of the project."
llvm sert de backend[1][2], il prend du code intermédiaire (LLVM IR), l’optimise, et en génère du code assembleur, machine (fichiers .o), ou même vers un langage de haut niveau[3]. llvm peut être utilisé pour faire de la compilation JIT (Mono, Webkit, PNaCl).
http://llvm.org/docs/tutorial/index.html
http://gnuu.org/2009/09/18/writing-your-own-toy-compiler/
[1] http://fr.wikipedia.org/wiki/Backend
[2] http://aosabook.org/en/llvm.html
[3] http://fr.wikipedia.org/wiki/Emscripten