IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Clang et LLDB Discussion :

Sortie de LLVM et Clang 9.0


Sujet :

Clang et LLDB

  1. #1
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 585
    Points
    188 585
    Par défaut Sortie de LLVM et Clang 9.0
    La nouvelle version de LLVM et de Clang est sortie. Alors que LLVM fournit l'infrastructure générique d'un compilateur, Clang fait l'interface avec du code C, C++ et Objective-C. Cette version apporte notamment une implémentation finalisée de la génération de code pour RISC-V, l'architecture libre de processeurauparavant, elle était marquée comme expérimentale. LLVM étant très utilisé pour développer des interpréteurs et compilateurs pour des langages divers et variés (comme Julia), le projet se doit d'avoir une excellente interface de programmation : outre deux nouveaux points d'extension pour l'optimisation du code lors de l'édition des liens (LTO), l'interface ORCJIT a été révisée. La version actuelle reste disponible, mais son emploi est découragé, au profit de la nouvelle version, largement améliorée pour une utilisation parallèle.

    Au niveau des plateformes, le code assembleur peut désormais directement accéder à de nombreuses instructions ARM supplémentaires : SVE2 (scalable vector extension) et MVE (M-profile vector extension) pour l'exécution en simultané d'une même instruction sur plusieurs données, MTE (memory tagging extension) pour indiquer quelles parties de la mémoire peuvent être écrites et ainsi limiter les risques de sécurité. LLVM intègre aussi un modèle plus complet du processeur Cortex-M4, pour générer du code plus performant.

    Au niveau des langages, Clang s'ouvre aux versions futures de C et de C++, avec l'inclusion d'un mode C2x ; le mode C++2a active par défaut les modules. Côté OpenCL, on peut désormais utiliser toutes les fonctionnalités de C++17 en conjonction avec OpenCL 2.0, grâce à des améliorations au niveau des attributs concernant l'espace d'adressage. Cette implémentation est cependant toujours expérimentale.

    Le point mineur le plus important est cependant l'implémentation des instructions ASM GOTO. Ce petit détail a toute son importance, puisque désormais Clang peut compiler avec succès le noyau Linux pour des processeurs x86_64, après des années de travail acharné pour y arriver (Clang 4 arrivait déjà à compiler Linux pour un certain nombre d'architectures, comme ARM ou PowrePC). Android et ChromeOS sont déjà en train d'effectuer la transition depuis GCC.

    Sources : notes de version de LLVM et Clang.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #2
    Inactif  

    Homme Profil pro
    Écrivain public, Économiste et Programmeur Free Pascal
    Inscrit en
    Août 2005
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Écrivain public, Économiste et Programmeur Free Pascal
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 350
    Points : 948
    Points
    948
    Billets dans le blog
    40
    Par défaut 32 64
    Un processeur 32 et 64 bits n'a aucun intérêt. L'intérêt du partage de ces sources est surtout qu'on peut enfin créer une compatibilité avec ce processeur.

    Comprendre un processeur c'est surtout comprendre comment les produire en série.

    Le partage des microcodes Intel et AMD est bien plus intéressant. Ces processeurs sont bien plus puissants mais CISC effectivement.

    Il est plus difficile de sécuriser quelque chose de complexe. C'est une raison pour ne pas utiliser cette architecture.

    L'intérêt réel pourrait être la faible consommation d'énergie, ce qui est inatteignable avec du 32/64.

  3. #3
    Membre confirmé Avatar de Andarus
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 137
    Points : 455
    Points
    455
    Par défaut
    Citation Envoyé par matthius Voir le message
    Un processeur 32 et 64 bits n'a aucun intérêt.
    Je ne comprend pas cette phrase 🤔

  4. #4
    Membre expert

    Profil pro
    activité : oui
    Inscrit en
    Janvier 2014
    Messages
    1 260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : activité : oui

    Informations forums :
    Inscription : Janvier 2014
    Messages : 1 260
    Points : 3 402
    Points
    3 402
    Par défaut
    Le problème c'est que l'emploi de dénomination non standardisé tel que "x86_64" introduit des doubles sens. Quand moi je lis "un processeur 64 bit (capable de faire tourner un programme 32bit)", d'autres lisent "un processeur capable d'interpréter des instructions 64bit et 32bit".
    C'est bien ça matthius ?

    "Il est plus difficile de sécuriser quelque chose de complexe. C'est une raison pour ne pas utiliser cette architecture."
    +1 ...c'est, il me semble, un point que beaucoup perdent de vue quand ça commence à parler nouveaux CPU et évolutions techniques.
    Pensez à utiliser les pouces d’appréciation, pour participer à la visibilité de l'apport d'un propos, ou l'intérêt que vous y prêtez... qu'il soit positif ou négatif.

  5. #5
    Inactif  

    Homme Profil pro
    Écrivain public, Économiste et Programmeur Free Pascal
    Inscrit en
    Août 2005
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Écrivain public, Économiste et Programmeur Free Pascal
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 350
    Points : 948
    Points
    948
    Billets dans le blog
    40
    Par défaut
    Citation Envoyé par Andarus Voir le message
    Je ne comprend pas cette phrase 🤔
    Il y a des processeurs dans les processeurs. Les processeurs dans les processeurs nous incitent maintenant à en mettre dans les câbles et les écrans, alors qu'un simple partage d'instructions donc de processeurs permettrait plus de vitesse.

    Ce partage est intéressant. Il montre qu'il n'y a plus besoin d'en chercher de cachés. En effet, du 32 bits reste rapide s'il n'est pas changé. Je doute qu'un processeur soit rapide et simple donc efficace autrement. Le 32 bits dans un processeur peut être logiciel, donc aucune raison d'en mettre en hardware dans un processeur. Donc l'inutilité de ce partage montre qu'on ne sait plus quoi trouver pour nous occuper.

    Je pense que certains partages libres d'instructions Nvidia ou ATI permettaient à la communauté libriste de croire à du nouveau, alors qu'il ne s'agissait que de comprendre pourquoi ils le faisaient.

    Ce partage d'instructions peut servir à des pays qui n'ont pas de processeur RISC, pas à la France qui en a des meilleurs ou peut en créer en 64 bits uniquement.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par matthius Voir le message
    Il y a des processeurs dans les processeurs. Les processeurs dans les processeurs nous incitent maintenant à en mettre dans les câbles et les écrans, alors qu'un simple partage d'instructions donc de processeurs permettrait plus de vitesse.

    Ce partage est intéressant. Il montre qu'il n'y a plus besoin d'en chercher de cachés. En effet, du 32 bits reste rapide s'il n'est pas changé. Je doute qu'un processeur soit rapide et simple donc efficace autrement. Le 32 bits dans un processeur peut être logiciel, donc aucune raison d'en mettre en hardware dans un processeur. Donc l'inutilité de ce partage montre qu'on ne sait plus quoi trouver pour nous occuper.

    Je pense que certains partages libres d'instructions Nvidia ou ATI permettaient à la communauté libriste de croire à du nouveau, alors qu'il ne s'agissait que de comprendre pourquoi ils le faisaient.

    Ce partage d'instructions peut servir à des pays qui n'ont pas de processeur RISC, pas à la France qui en a des meilleurs ou peut en créer en 64 bits uniquement.
    Soit j'ai rien compris, soit ton message n'a aucun sens ni aucun rapport avec la news.

Discussions similaires

  1. Sortie de LLVM 8.0 et Clang 8.0
    Par dourouc05 dans le forum Clang et LLDB
    Réponses: 0
    Dernier message: 25/03/2019, 02h07
  2. Sortie de LLVM et Clang 5.0
    Par dourouc05 dans le forum Clang et LLDB
    Réponses: 1
    Dernier message: 12/09/2017, 13h33
  3. Sortie de LLVM et Clang 4.0
    Par dourouc05 dans le forum Clang et LLDB
    Réponses: 0
    Dernier message: 13/03/2017, 19h54
  4. Sortie de LLVM 3.9 et Clang 3.9
    Par dourouc05 dans le forum Clang et LLDB
    Réponses: 0
    Dernier message: 25/09/2016, 23h18
  5. Sortie de LLVM 3.8 et Clang 3.8
    Par dourouc05 dans le forum Clang et LLDB
    Réponses: 0
    Dernier message: 12/03/2016, 17h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo