La pile du compilateur LLVM a connu une croissance record en 2021 à la fois avec le plus grand nombre de nouveaux codes introduits en une seule année ainsi que le plus grand nombre de contributeurs par an que ce projet open source ait jamais vu. Même en dehors des métriques de développement, LLVM a connu une année 2021 assez mouvementée.
Lors de l’exécution de GitStats sur le référentiel mono LLVM le jour du Nouvel An, cette pile de compilateur/chaîne d’outils open source comptait jusqu’à 111 028 fichiers qui comprenaient 23,85 millions de lignes de code. Tout un exploit étant donné que le noyau Linux compte 32 millions de lignes de code dans son arborescence source au cours de son histoire beaucoup plus longue. Le référentiel de LLVM a vu 408 000 commits et contributions d’environ 2 903 auteurs différents.
Sur le nombre de commits, LLVM en 2021 n’a pas eu l’année la plus chargée avec seulement 32,1k commits contre 34,9k en 2020 ou 33,2k en 2019…
Mais quand il est venu au taux de désabonnement, LLVM a mené en 2021… LLVM a vu 12,5 millions de lignes de code ajoutées et 8,3 millions de lignes supprimées… Bien plus qu’en 2020, où il n’y avait que 7 millions de lignes ajoutées et 3,9 millions supprimées.
Simon Pilgrim a continué d’être responsable du plus grand nombre de commits en 2021, suivi de Fangrui Song, Roman Lebedev, Craig Topper, Nikita Popov et Sanjay Patel.
L’une des autres mesures prometteuses pour LLVM en 2021 était le nombre record d’auteurs… 1 400 adresses e-mail différentes dédiées à LLVM, contre 1 321 en 2020 qui était auparavant un sommet historique. Avant 2020, il n’y avait pas une seule année qui comptait plus d’un millier de contributeurs. Maintenant, pour 1 400 en 2020, la croissance de la communauté open source LLVM est assez intéressante.
Tous les grands noms habituels continuent de contribuer largement à LLVM…
Il sera très intéressant de voir la direction de LLVM en 2022… L’intégralité du dump GitStats se trouve ici.
Pour ceux qui s’interrogent sur les grands changements et événements pour LLVM en 2021, voici un aperçu des actualités les plus populaires couvertes sur Phoronix.
Construire le noyau Linux avec Clang continue d’être utile, nouvelles fonctionnalités recherchées
La conférence virtuelle Linux.Conf.Au du mois dernier était une présentation de l’ingénieur Google Nick Desaulniers sur l’état actuel de la construction du noyau Linux avec LLVM Clang comme alternative à GCC.
LLVM Clang 14 débarque une optimisation des performances « incroyable »
Alors que les performances de LLVM/Clang se sont beaucoup améliorées au fil des ans et que pour x86_64 et AArch64 et au coude à coude avec le compilateur GCC, la bataille féroce des performances n’est pas terminée. Avec la sortie de LLVM/Clang 14.0 dans les premiers mois de 2022, il y aura plus de travail de performance avec un commit récent en particulier très prometteur.
Lancement de Mold 1.0 en tant qu’alternative moderne d’éditeur de liens à grande vitesse à GNU Gold, LLVM LLD
Mold 1.0 est une alternative d’éditeur de liens à grande vitesse prête pour la production à l’or de GNU ou le LLD de LLVM qui est actuellement pris en charge sur les systèmes Linux et écrit par l’auteur du LLD d’origine.
BOLT de Facebook s’approche de la ligne principale LLVM pour l’optimisation des binaires
Le projet BOLT de Facebook pour l’optimisation des performances des binaires compilés est sur le point d’être ajouté à l’arborescence des sources officielle de LLVM avec son référentiel mono.
Intel adopte pleinement LLVM pour ses compilateurs C/C++
Les compilateurs C/C++ de nouvelle génération d’Intel tirent pleinement parti de la pile de compilateurs LLVM à la place de leur ancien code de compilateur propriétaire-base. Intel a”complètement [d] adoption”de LLVM pour ses besoins de compilateur C/C++.
Le développement des fonctionnalités de LLVM 13 est terminé, LLVM 14 entre en développement
Le développement des fonctionnalités de LLVM 13.0 est terminé avec le code désormais ramifié et la première version candidate marquée.
BOLT proche de la fusion dans LLVM pour optimiser les performances des binaires
En plus du back-end LLVM SPIR-V qui semble prêt pour la fusion, travaille également à travers les étapes finales pour être intégré dans la pile du compilateur LLVM est également le projet BOLT de Facebook pour optimiser les performances des binaires.
Support LLVM Clang Mainlines pour la série Motorola 68000 (m68k)
Si ce n’était pas assez étrange en ces temps de pandémie de voir le support Nintendo 64 en amont dans le noyau Linux 5.12 il y a quelques semaines, le dernier matériel vintage bénéficiant d’un support open source toujours en cours est les processeurs 32 bits de la série 68000 de Motorola. LLVM/Clang a fusionné aujourd’hui la cible”m68k”pour ces processeurs vieux de trois décennies.
LLVM travaille toujours sur la reconduction des licences, a besoin d’aide pour localiser d’anciens contributeurs
Pendant des années, LLVM a travaillé sur une relicence massive de sa base de code, mais cet effort est toujours en cours car ils essaient toujours de retrouver certains contributeurs passés pour recueillir leurs approbations sur le changement.
LLVM 12.0 sorti avec la prise en charge d’Alder Lake + Sapphire Rapids, plus de C++20
Après que le cycle de publication ait traîné un mois supplémentaire en raison de bugs bloquants, LLVM 12 a été officiellement étiqueté mercredi soir comme la dernière mise à jour semestrielle de cette pile de compilateurs open source.
Red Hat recrute davantage d’ingénieurs compilateurs LLVM
Non seulement Red Hat continue d’investir massivement dans GCC et la chaîne d’outils GNU, mais il s’avère qu’ils augmentent leur compilateur LLVM talent aussi.
Clang PGO abattu pour l’instant à partir du noyau Linux
Alors que le support de Clang PGO a été envoyé pour Linux 5.14 dans le cadre des mises à jour de gestion du compilateur Clang pour cette prochaine version du noyau, la fonctionnalité a ensuite été abandonnée et une nouvelle demande d’extraction a été émise après les critiques de Linus Torvalds et d’autres.
LLVM 13.0 sorti avec les packages binaires Flang officiels, prise en charge améliorée de OpenCL Clang
LLVM 13.0 a été marqué du jour au lendemain comme la dernière mise à jour semestrielle de ce très puissant et très utilisé pile de compilateur open source.
HPVM 1.0 est sorti en tant que compilateur basé sur LLVM pour CPU/GPU/FPGA/accélérateurs
Le dernier effort d’infrastructure de compilateur open source cherchant à cibler un large éventail de périphériques de Les processeurs via les GPU, les FPGA et les accélérateurs sont HPVM. Le projet HPVM a célébré aujourd’hui son jalon 1.0.
Prise en charge de Clang LTO fusionnée pour Linux 5.12, y compris ARM64 + x86_64
Ouvrez le champagne car le noyau Linux 5.12 en développement sera capable de prendre en charge les optimisations de temps de liaison ( LTO) en conjonction avec le compilateur LLVM Clang sur non seulement AArch64 (ARM 64 bits) mais aussi x86_64.
Intel, Arm et Khronos se sentent prêts à débarquer le backend SPIR-V au sein de LLVM
Les ingénieurs d’Intel et Arm en coopération avec le groupe Khronos se sentent maintenant prêts à commencer à débarquer leur Back-end SPIR-V dans l’arborescence des sources LLVM en amont ! Ce back-end SPIR-V pour LLVM permettrait finalement aux front-ends LLVM pour différents langages de cibler plus facilement cette représentation de shader standard de l’industrie afin qu’elle puisse être ingérée par les pilotes Vulkan/OpenCL.
LLVM 12.0-rc4 publié pour mettre au carré ce compilateur open-source
LLVM 12.0 devait sortir vers la fin février, mais des bogues de blocage ont entraîné une version supplémentaire candidats pendant que les développeurs s’efforcent de mettre en place cette version de la pile de compilateur open source.
Libération du compilateur AMD AOCC 3.1-Rebasé sur LLVM 12.0
AMD plus tôt cette semaine a discrètement publié une nouvelle version de son compilateur de code AOCC qui est maintenant rebasé sur le LLVM/en amont État du compilateur Clang 12.0.
AMD AOCC 3.0 sorti en tant que compilateur basé sur Zen 3 optimisé LLVM Clang 12
Avec le lancement d’AMD EPYC 7003″Milan”il y a aussi la disponibilité publique d’AOCC 3.0 comme leur LLVM/Clang en aval transportant désormais des correctifs pour une prise en charge optimisée de Zen 3.
LLVM 12.0 retarde la livraison de RC5
LLVM 12.0 était censé être expédié début mars, mais maintenant plus d’un mois plus tard et quelque 6 660+ s’engagent à LLVM 13.0 déjà, LLVM 12.0 n’a pas encore été expédié mais mercredi 12.0.0-rc5 a été publié.