LLVM

Qu'est-ce que LLVM?

Qu'est-ce que LLVM?

Qu'est-ce que LLVM et pourquoi est-il utile?

Plusieurs mini-projets fonctionnent sous l'égide du LLVM. Les mini-projets traitent principalement des technologies de compilation. Il semble y avoir une certaine confusion concernant le nommage LLVM. Les gens supposent à tort qu'il est lié aux machines virtuelles. Il n'y a pas de connexion. Le terme LLVM ne signifie rien. C'est juste un nom qui a été utilisé au début du projet.

Le projet LLVM est exploité sous la licence de style BSD « UIUC ». Le projet est né à l'Université de l'Illinois. Depuis lors, il a gagné en popularité et il a été utilisé pour une grande variété de projets. Il est particulièrement populaire dans les cercles universitaires. L'objectif principal du projet est de fournir une compilation statique et dynamique basée sur SSA de divers langages de programmation.

Voici le mini-projet de LLVM :

  1. Noyau LLVM : Les bibliothèques de base fournissent un support d'optimisation et de génération de code pour les processeurs. LLVM IR (Intermediate Representation) fournit la base pour les bibliothèques. La communauté a fait un bon travail de documentation du LLVM Core. Vous pouvez donc facilement utiliser ces bibliothèques pour créer votre nouveau langage de programmation ou créer un port d'un compilateur existant. Si vous cherchez à vous aventurer dans ces territoires, LLVM Core est un bon point de départ.
  1. Bruit: C'est un compilateur trois fois plus rapide que GCC. Il cible C, C++ et Objective-C. Les erreurs et avertissements Clang sont plus faciles à comprendre. Il dispose également d'un outil d'analyse statique. L'outil d'analyse statique lui-même est construit à l'aide du compilateur Clang.
  1. LLDB : C'est un débogueur. Il est plus rapide et plus efficace que GDB. Le débogueur est construit en utilisant Clang et LLVM Core.
  1. ABI libc++ et libc++ : Meilleure implémentation de C++ STD.
  1. compilateur-rt : Il fournit des supports pour le code de bas niveau. Il dispose également de bibliothèques d'exécution pour les tests dynamiques.
  1. OpenMP : Open Multi-Processing (OpenMP) est une API d'aide au multithreading. Ce projet prend en charge le runtime natif pour OpenMP à utiliser avec Clang.
  1. Polly : Dans le monde LLVM, c'est un optimiseur de boucle et de localité de données de haut niveau. Il optimise les modèles d'accès mémoire des programmes.
  1. libclc : Une bibliothèque pour OpenCL.
  1. klee : C'est une machine virtuelle symbolique. Vous pouvez utiliser klee pour parcourir tous les chemins dynamiques dans un programme pour trouver des problèmes. La machine peut produire des cas de test automatisés.
  1. CODE DE SÉCURITÉ : C'est un compilateur pour C/C++ pour garantir la sécurité de la mémoire. C'est un excellent outil pour les experts en cybersécurité à explorer. Cela peut aider à détecter les erreurs de sécurité de la mémoire.
  1. lld : Il construit un éditeur de liens pour travailler avec Clang et LLVM.

Le LLVM a la réputation de créer des binaires plus propres que GCC. De plus, LLVM a des projets externes qui peuvent être utilisés pour compiler Python, Haskell, PHP, LUA, Ruby et d'autres langages. LLVM est considéré comme une solution polyvalente, flexible et réutilisable. Il gagne donc en popularité dans la communauté du développement. Il est utilisé comme compilateur JIT pour les langages embarqués. LLVM est également utilisé pour les supercalculateurs. Le large soutien de la communauté des développeurs en fait un outil robuste.

Une étude plus approfondie:

Remappez les boutons de votre souris différemment pour différents logiciels avec X-Mouse Button Control
Peut-être que vous avez besoin d'un outil qui pourrait faire changer le contrôle de votre souris avec chaque application que vous utilisez. Si tel est...
Examen de la souris sans fil Microsoft Sculpt Touch
J'ai lu récemment sur le Microsoft Sculpt Touch souris sans fil et j'ai décidé de l'acheter. Après l'avoir utilisé pendant un certain temps, j'ai déci...
Trackpad et pointeur de souris à l'écran AppyMouse pour tablettes Windows
Les utilisateurs de tablettes ratent souvent le pointeur de la souris, surtout lorsqu'ils ont l'habitude d'utiliser les ordinateurs portables. Les sma...