+ Répondre à la discussion Actualité déjà publiée
Affichage des résultats 1 à 3 sur 3
  1. #1
    Chroniqueur Actualités

    Homme Profil pro Christophe Ghokeng
    Administrateur systèmes et réseaux
    Inscrit en
    mars 2013
    Messages
    426
    Détails du profil
    Informations personnelles :
    Nom : Homme Christophe Ghokeng
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2013
    Messages : 426
    Points : 7 886
    Points
    7 886

    Par défaut LLVM 3.3 disponible avec Clang

    LLVM 3.3 disponible avec Clang
    La suite d'outils de compilation pour C, C++ et Objective-C apporte un support complet de C++ 11

    LLVM la suite d’outils de compilation est disponible dans sa version 3.3. Cette dernière apporte son lot de nouvelles fonctionnalités.

    LLVM 3.3 intègre le compilateur Clang 3.3 pour les langages C, C++ et Objective-C, la librairie compiler-rt, le « low-level debugger LLDB », la librairie C++ libc++ et la JVM VMKit qui utilise LLVM pour la compilation statique et JIT (Just In Time).

    Cette version se distingue avec ses prédécesseurs par un le support complet de la norme C++ 11. Les ajouts sont entre autres : les attributs C++ 11, l'héritage de constructeurs, la gestion des variables thread_local, les lambda généralisées, l’amélioration des expression constexpr, etc.

    Cette mouture ne prend plus en charge le traitement des exceptions pour JIT. Les développeurs qui voudront bénéficier de cette fonctionnalité sont invités à utiliser le MCJIT (Machine Code Just In time).

    Puisqu'ils sont désormais obsolètes, les architectures des processeurs Hexagon V2 et Hexagon V3 ne sont plus prises en charge. Seuls les processeurs Hexagon V4 et Hexagon V5 sont supportés par cette nouvelle mouture.

    Le support pour l'architecture 64 bits des processeurs ARM est au stade expérimental. Cependant, d'après l'équipe de développement, Clang devrait compiler avec succès du code respectant les standards C99 et C++03.

    Pour l'architecture PowerPC, on note l'ajout de l'analyseur syntaxique pour le langage assembleur. On note en plus l'amélioration des performances pour les opérations de division à virgule flottante et racine carrée, grâce à l'option -ffast-math. Le support du stockage local des « threads » est également de la partie, cependant il n'est disponible que pour les architectures 64 bits uniquement.

    Grace à la fonctionnalité « R600 backend » LLVM prend en charge les GPU d'AMD, pour les puces HD2XXX à HD7XXX.

    LLVM est désormais compatible avec les architectures basées sur le SystemZ d'IBM. Cependant ce support est restreint pour la plateforme GNU/Linux.

    Le débogueur LLDB (Low level Debugger) subit des changements notables pour la plateforme Linux. On peut désormais ajouter des « watchpoints ». L'intégration de Vim pour les commandes LLDB s'est faite à l'aide d'un nouveau plugin, et on note en plus, une amélioration du support des registres y compris ceux vectoriels.


    Télécharger LLVM 3.3

    Source : LLVM

    Et vous ?

    Que pensez vous de cette nouvelle mouture de LLVM ?

  2. #2
    Membre chevronné
    Inscrit en
    juillet 2012
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : juillet 2012
    Messages : 192
    Points : 690
    Points
    690

    Par défaut Performance

    Il y a aussi eu une nette augmentation de l’efficacité du code généré par rapport à la 3.2.
    En partie dû aux améliorations au niveau auto-vectorisation (cf. ici pour un peu plus d’explications sur ce point).

  3. #3
    Membre habitué
    Homme Profil pro
    Doctorant en Astrophysique
    Inscrit en
    mars 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Astrophysique
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2009
    Messages : 313
    Points : 143
    Points
    143

    Par défaut

    Personnellement j'ai installé clang depuis peu comme complément à g++ sous Linux. Avec la version 3.2, j'avais pas mal de code métaprog hautement templaté avec également pas mal de SFINAE/enable_if qui ne compilait pas. Du coup je m'en servais surtout pour débugguer mon code, car les messages d'erreurs de compilation de clang sont quand même merveilleux. J'espère que les problèmes de métaprog de la version 3.2 ont été corrigés dans cette nouvelle mouture

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •