L'objectif de LLVM est d'avoir effectivement un backend réutilisable : une licence très permissive, une VM (définie par sa représentation intermédiaire) clairement définie et documentée.
Tout l'inverse de GCC : les représentations intermédiaires sont là pour des raisons purement technique. GCC reste politiquement monolithique : pas de lib sous licence permissive (GPL est clairement non friendly pour une bonne partie de l'industrie), pas de volontée d'avoir une telle lib "backend" réutilisable par tous.
En gros tous ceux qui sont enmerdé par la politique de GCC misent sur LLVM.
[^] # Re: IR
Posté par TImaniac (site web personnel) . En réponse à la dépêche LLVM 2.9 !. Évalué à 3.
L'objectif de LLVM est d'avoir effectivement un backend réutilisable : une licence très permissive, une VM (définie par sa représentation intermédiaire) clairement définie et documentée.
Tout l'inverse de GCC : les représentations intermédiaires sont là pour des raisons purement technique. GCC reste politiquement monolithique : pas de lib sous licence permissive (GPL est clairement non friendly pour une bonne partie de l'industrie), pas de volontée d'avoir une telle lib "backend" réutilisable par tous.
En gros tous ceux qui sont enmerdé par la politique de GCC misent sur LLVM.