Posté par djano .
En réponse à la dépêche LLVM 2.9 !.
Évalué à 5.
Pourtant je trouve que si tu lis bien les commentaires de Xion345 et Timaniac, tu as bien ta réponse. Certes il ya des hors sujet, mais le fond y est.
GCC marche comme ceci:
frontend -> RI RTL -> RI Generic -> RI GIMPLE -> backend -> ... (je ne sais plus trop bien après. Génération de code spécifique a la cible (OS, CPU) je suppose?)
Certains frontend GCC sont connus pour faire des optimisations sur le code lu directement dans le front end avant meme d'arriver a une représentation intermédiaire. C'est clairement un problème lorsque l'on veut réutiliser un frontend pour faire de l'analyse de code ou des transformations de code (reindentation automatique, etc.).
A ma connaissance GCC n'a pas spécification sur ses différents RI, ce qui rend la tache ardue pour qui veut contribuer a GCC. Cette barrière a l’entrée est assez problématique. Je me rappelle avoir lu qu'ils avaient des problèmes pour recruter des contributeurs, même si certaines personnes (Tara Glek) ont trouvé le code de GCC plus facile a comprendre que ce qu'on avait pu leur dire initialement. Donc LLVM spécifiant la RI, il est plus facile de rentrer dans le code après avoir lu cette spec.
Voila en quoi c'est un avantage d'avoir une RI bien spécifiée et de n'appliquer les optimisations que sur celle-ci.
[^] # Re: IR
Posté par djano . En réponse à la dépêche LLVM 2.9 !. Évalué à 5.
Pourtant je trouve que si tu lis bien les commentaires de Xion345 et Timaniac, tu as bien ta réponse. Certes il ya des hors sujet, mais le fond y est.
GCC marche comme ceci:
frontend -> RI RTL -> RI Generic -> RI GIMPLE -> backend -> ... (je ne sais plus trop bien après. Génération de code spécifique a la cible (OS, CPU) je suppose?)
Certains frontend GCC sont connus pour faire des optimisations sur le code lu directement dans le front end avant meme d'arriver a une représentation intermédiaire. C'est clairement un problème lorsque l'on veut réutiliser un frontend pour faire de l'analyse de code ou des transformations de code (reindentation automatique, etc.).
A ma connaissance GCC n'a pas spécification sur ses différents RI, ce qui rend la tache ardue pour qui veut contribuer a GCC. Cette barrière a l’entrée est assez problématique. Je me rappelle avoir lu qu'ils avaient des problèmes pour recruter des contributeurs, même si certaines personnes (Tara Glek) ont trouvé le code de GCC plus facile a comprendre que ce qu'on avait pu leur dire initialement. Donc LLVM spécifiant la RI, il est plus facile de rentrer dans le code après avoir lu cette spec.
Voila en quoi c'est un avantage d'avoir une RI bien spécifiée et de n'appliquer les optimisations que sur celle-ci.