25 points par joone 2023-01-20 | 3 commentaires | Partager sur WhatsApp
  • LLVM est une infrastructure de compilation rendue publique en 2003, un projet lancé par Chris Lattner pour améliorer les problèmes des compilateurs existants et de GCC.
  • Définition d’une représentation intermédiaire (intermediate representation) afin de réutiliser chaque composant du compilateur
  • En ajoutant un nouveau langage via le front end, il devient possible de réutiliser tel quel l’optimiseur et le back end
  • Il est aussi possible d’utiliser uniquement le front end pour écrire des fonctionnalités d’analyse statique de programmes
  • Une tentative d’intégration de LLVM dans GCC a échoué face à l’opposition de la communauté
  • Apple a adopté LLVM et utilise Clang, développé à la place de GCC
  • Chris Lattner a aussi développé Swift chez Apple, utilisé comme langage principal des plateformes Apple à la place d’Objective-C.

3 commentaires

 
ragingwind 2023-01-20

En pratique, j’ai l’impression que le standard de facto, ce n’est plus LLVM mais plutôt clang. Désormais, même de très grands projets le prennent en charge.

 
hohohoho 2023-01-20

clang et LLVM n’ont pas vraiment des usages différents ?

 
ragingwind 2023-01-21

Il s’agissait de dire que clang, le frontend qui utilise llvm, est désormais employé dans plusieurs projets open source à la place de gcc. Ce n’est pas une comparaison entre les deux. Vous pouvez sans doute regarder la partie 2 sur la sortie de clang : https://joone.net/2023/01/…