« [...] LLVM utilise une représentation intermédiaire (IR) parfaitement spécifiée et les optimisations se font sur cette représentation. Et ce n'est qu'un des nombreux avantages de LLVM. »
Y a-t-il vraiment des compilateurs qui ne procèdent pas ainsi ? Par exemple, à l'époque où j'avais vaguement regardé le code de GCC, il m'avait semblé que celui-ci utilisait plusieurs représentations intermédiaire (Gimple, generic ...) permettant diverses optimisations. Et j'imagine qu'il en est de même pour la grande majorité des compilateurs multi-langages et multi-cibles. Serait-ce une erreur ?
Et si non, ne serait-il pas intéressant d'insister plutôt sur les particularités de la représentation intermédiaire de LLVM qui en font l'un de ces avantages ? Au lieu de cet argument qui semble tout droit sortie de chez un concessionnaire : « regardez, elle a 4 — oui bien quatre — superbes roues ; avec des jantes ; magnifique ; ne les vaut-elle pas ces 80.000 € ... »
# IR
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . En réponse à la dépêche LLVM 2.9 !. Évalué à 10.
Y a-t-il vraiment des compilateurs qui ne procèdent pas ainsi ? Par exemple, à l'époque où j'avais vaguement regardé le code de GCC, il m'avait semblé que celui-ci utilisait plusieurs représentations intermédiaire (Gimple, generic ...) permettant diverses optimisations. Et j'imagine qu'il en est de même pour la grande majorité des compilateurs multi-langages et multi-cibles. Serait-ce une erreur ?
Et si non, ne serait-il pas intéressant d'insister plutôt sur les particularités de la représentation intermédiaire de LLVM qui en font l'un de ces avantages ? Au lieu de cet argument qui semble tout droit sortie de chez un concessionnaire : « regardez, elle a 4 — oui bien quatre — superbes roues ; avec des jantes ; magnifique ; ne les vaut-elle pas ces 80.000 € ... »
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace