Greboca  

LinuxFr.org : les journaux  -  LLVM 11.0.0

 -  13 octobre - 

Demat'iNal,

Après 6 release candidates, la version 11.0.0 de l'écosystème LLVM a finalement été rendue publique.

LLVM suit un cycle de sortie de 6 mois, quelles sont donc les grandes nouveautés ? On notera déjà l'arrivée du compilateur Flang dans la suite officielle LLVM, qui se dote ainsi d'un compilateur Fortran. Il vient remplacer le peu usité llvmgo qui a été retiré du dépôt officiel.

LLVM release note

LLVM possédait déjà un type vectoriel, p.e. pour un vecteur de 4 entiers 32 bits. Ce type de taille fixe est maintenant complété par un type vectoriel de taille variable, noté pour un vecteur de 4, 8, 12 etc entiers de 32 bits, pour pouvoir cibler des jeux d'instruction comme SVE de ARM.

Plusieurs ajustements ont été faits pour la gestion propagation des valeurs poison et undef. Le lecteur intéressé se délectera de cette video du LLVM Virtual Developer Meeting sur la différence entre undef et poison.

Il est maintenant possible de positionner l'attribut probe-stack à "inline-asm" ce qui fournit, sur les architectures x86 (implémenté par votre serviteur), SystemZ et PowerPC, une protection contre l'attaque stack clash

Clang release note

Clang est maintenant doté d'un recoverable AST, qui permet de mieux gérer la représentation des erreurs; En cas d'erreur de syntaxe, le code suivant l'erreur est plus facilement parsé dans de bonnes conditions. Cette fonctionnalité est activée par défaut pour le front-end C++.

De nouveaux avertissements voient le jour : -Wpointer-to-int-cast, Wuninitialized-const-reference et -Wimplicit-const-int-float-conversion. Leur dénommination me parait suffisament explicite ;-)

Clang fournit désormais des types intrinsèques, _ExtInt(N)N est un entier spécifiant la taille du type entier. Cela permet de déclarer des entiers de 57 bits.

Les projets reposant sur une génération a priori des profiles utilisés par les options de Profile Guided Optimization devront regénérer leurs profiles, l'algorithme de hash utilisé ayant reçu un correctif de bug par votre serviteur.

L'option -O est dorénavant un alias de -O1 et non plus -O2.

En spécifiant -fpic/-fPIC -fno-semantic-interposition la sémantique d'interposition requise par ELF n'est plus respectée, pour le plus grand plaisir des optimisations.

L'option -fstack-clash-protection permet de tirer parti des protéctions contre stack clash implémentée au niveau LLVM.

Plusieurs options relatives à la gestion des nombres flottants: -ffp-exception-behavior={ignore,maytrap,strict} et -ffp-model={precise,strict,fast}.

D'un point de vue langage, le support d'OpenMP5 a été amélioré, la version du standard C utilisée par défaut est gnu17, la defect report P1766R1 qui restreint l'usage de structure anonymes dans un typedef, à la C, est appliquée de manière rétroactive à toutes les version de C++

Others

la suite de compilation LLVM inclut également des outils basés sur clang, un éditeur de lien, lld, une implémentation de la bibliothèque standard C++, libc++, un optimiseur polyhèdrique polly, et, pour ceux qui ont suivi, un compilateur Fortran flang.

En vrac, Flang supporte Fortran2018, fait son arrivée dans la libc++, pas mal de travail niveau performance et de nouveaux diagnostiques dans clangd et plein d'autres choses que je ne comprends pas bien ;-)
Je vous invite à lire leur notes si ces sujets vous intéresse !

Commentaires : voir le flux Atom ouvrir dans le navigateur

par serge_sans_paille

LinuxFr.org : les journaux

LinuxFr.org : Journaux

Docker vs Podman sur fedora 32 et headless CMS

 -  17 octobre - 

Sommaire La mode headless CMS Les outils Podman Un exemple Conclusion Salut Narjoul, La mode headless CMS Aujourd'hui je vais te parler (...)


Nouveaux outils Arduino : CLI et IDE PRO

 -  15 octobre - 

Bonjour, Juste une news rapide en passant, la fondation Arduino propose depuis peu deux nouveaux outils : Arduino CLI: permet de gérer les (...)


Moins d'applications sur smartphone.

 -  28 septembre - 

Je suis un libriste convaincu c’est pourquoi je fais toujours tout pour n’installer que des applications open-sources car j’estime que ce sont les (...)


Mozilla abandonne le web des objets

 -  25 septembre - 

En lisant le titre du jour Nal, je suppose que tu infères Nal que je vais te poster d'un nieme projet abandonné par la Mofo. Et bien oui, cette (...)


Un fichier EPUB d’une dépêche ou d’un journal avec tous les commentaires

 -  24 septembre - 

Bonjour les gens, il me souvient d’une discussion ici où se posait la question des formats de téléchargement des contenus de DLFP1, Markdown et EPUB (...)