• [^] # Re: IR

    Posté par (site web personnel) . En réponse à la dépêche LLVM 2.9 !. Évalué à 2. Dernière modification le 08 avril 2011 à 21:46.

    Un peu comme une manière de dire que le backend de gcc ne serait pas réutilisable (!) ou que gcc ne serait pas bien documenté.

    Ben tu vois, c'est pas du tout ambigüe puisque t'as tout compris :)

    GCC a tout fait pour rester monolithique :

    • licence pas friendly pour les utilisateurs intéressés (Apple & co)
    • représentations intermédiaires non pensées pour être réutilisées en dehors du projet GCC lui même : ce qui se traduit en pratique par une absence de politique de spécification des interfaces (interfaces non stables, pas forcement documentées, des optimisations faites à tous les étages et donc pas toujours réexploitables). Un peu le modèle du kernel et de ses API pour les drivers : Il y a une volonté de ne pas offrir une interface clairement spécifiée, documentée, et avec une durée de vie/maintenance acceptable, pour des raisons à la fois politique (emmerder ceux qui font des drivers proprio) et technique (pouvoir casser les API quand on veut pour des besoins d'évolution).

    A l'inverse, LLVM fait tout pour être réutilisé par le plus grand nombre. Et ses contributeurs sont d'ailleurs ses premiers utilisateurs.