• [^] # Re: IR

    Posté par (site web personnel) . En réponse à la dépêche LLVM 2.9 !. Évalué à 10.

    la licence — trop respectueuse des libertés des utilisateurs

    La licence de GCC est tellement respectueuse de la liberté des utilisateurs, que quand j'ai écrit un outil qui utilise GCC et uniquement du logiciel libre, sa licence m'a interdit de diffuser mon outil sous forme compilée en plus des sources, à cause d'incompatibilités de licences (entre GPL et SystemC) ...

    certains groupements d'intérêts plus orientés « real politic » et parfois moins sourcilleux que la FSF quant aux droits de leurs constituants [...] et clients.

    La licence de GCC m'a fait chier moi pendant ma thèse, elle fait chier les gens de BSD, ... On entre dans la case de tes groupes d'intérêts ?

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

    GCC n'est pas modulaire, c'est un fait. Essaye de récupérer juste le back-end, ou juste le front-end de GCC (par exemple, faire un outil qui récupère une des représentations de GCC mais qui n'embarque pas le générateur de code). J'ai essayé, beaucoup d'autres gens ont essayé, et a peu près tous te diront que c'est un merdier terrible.

    Ça évolue côté GCC. Depuis GCC 4.5, on a un système de plugins qui fait que GCC a une API externe et que ça devient possible de récupérer une représentation intermédiaire sans patcher GCC, alors que RMS s'y était toujours opposé pour des raisons non-techniques. J'ai d'ailleurs du mal à croire à une coïncidence quand je vois que GCC a pris ce virage pile au moment où LLVM devenait crédible. RMS a cédé parce qu'il ne voulait pas perdre d'utilisateurs au profit d'un logiciel non-GNU avec une licence non-GPL ...

    Sinon, techniquement, un avantage de la représentation intermédiaire de LLVM, c'est qu'elle est disponible à la fois sous forme de structure de données, de texte (un peu comme de l'assembleur), et de fichier binaire, avec des moyens de passer de l'un à l'autre facilement.