LLVM et GCC sont des compilateurs different. Les gens de LLVM (qui bossait a l'origine chez Apple) voulaient faire des changement de comportement de GCC. Mais ils se sont appercu que modifie GCC c'est un peu la merde quand meme.
Donc ils ont cree LLVM pour avoir une architecture plus souple de compilation. En particulier, LLVM dispose d'un langage intermediaire qui est fortement specifie et qui permet a chaque plugin de profiter de totu un tas d'optimisation et de verifications commune. (Il y a un truc similaire dans GCC, mais l'interfacage est super complique.)
En particulier ca permet a LLVM d'avoir un nombre de front end impressionnant. Ca permet assu de faire des analyse statique de code assez facilement.
La derniere fois que j'ai regarder les performance de LLVM, ce n'etait pas aussi bon que GCC. Mais c'etait il y a plusieurs annees, donc ca a pu changer entre temps.