• # Progression rapide

    Posté par . En réponse à la dépêche La version 2.5 du compilateur LLVM est disponible. Évalué à 7.

    Je suis pas mal les évolutions de GCC ainsi que de LLVM et je dois dire que ce dernier progresse rapidement malgré sa jeunesse, grace a clang on peut meme recompiler un noyau BSD ou linux par exemple.
    Cependant le gros apport de LLVM c'est l'architecture et les normes de codage, si un jour vous ne savez pas quoi faire je vous invite a regarder le code source de GCC et de me dire ce que vous en pensez. Pour faire court ca ressemble a un manuel de toutes les choses a éviter, du genre des fonction de 3000 lignes, des macros de tous les cotés qui définissent des fonctions, doc pas du tout a jour....
    Si je dis ca c'est que j'ai proposé un stage concernant GCC pour améliorer le support sous windows et windows CE sur playeforme ARM, en particulier sur le support des exceptions SEH (__try, __except) car pour moi c'est vraiment ce qui manque.
    Pour le moment le principe de fonctionnement des exceptions SEH est vraiment simple par contre pour l'implémentation c'est une autre histoire et je pense que mon stagiaire va pas mal galérer.
    J'ai posé la question au sujet des exceptions SEH sur la ML de LLVM et on m'a répondu qu'il devrait l'implémenter dans pas trop longtemps pour le langage objective-C puis ensuite ca devrait s'étendre aux autres front-end.
    Comme la déja dit quelqu'un cela pousse peut etre Gcc a bouger un peu plus vite et c'est pourquoi on voit apparaitre le système de greffons ainsi qu'une fonctionnalité dite LTO (Link Time Optimization) qui consiste a écrire en langage intermédiaire tous les objets de compilation puis d'optimiser le programme au complet seulement à la fin au moment de l'édition des liens.
    Ca permet de détecter des optimisations plus globales à comparer avec une optimisation limitée au modude compilé.
    J'en profite également pour passer une annonce, si quelqu'un connait Gcc et qu'il maitrise les aspects de langage intermédiaire (Gimple IR) , s'il pouvait me contacter j'aurais quelques questions.