Qu'est-ce que LLVM ?

Infrastructure de compilation organisée autour d'une représentation intermédiaire commune (LLVM IR), qui permet de combiner des frontaux propres à chaque langage, des passes d'optimisation et des back-ends propres à chaque CPU. Utilisée par de nombreux langages et CPU.

Nom japonais: LLVM

« LLVM » apparaît dans 1 questions d'entraînement réparties sur 1 thèmes, dont Compilateurs.

Domaine: Compilateurs

S'entraîner : questions sur LLVM

Quelle est l'architecture de base de LLVM ?

  1. AUn compilateur dédié au langage C, inutilisable pour les autres langages
  2. BUne combinaison d'assembleur et d'éditeur de liens visant un seul CPU
  3. CUne représentation intermédiaire commune au centre, autour de laquelle se combinent parties avant et parties arrière
Afficher la réponse et l'explication

Réponse : C. Une représentation intermédiaire commune au centre, autour de laquelle se combinent parties avant et parties arrière

LLVM est une infrastructure de compilation centrée sur une représentation intermédiaire commune, LLVM IR. Les parties avant de nombreux langages, à commencer par Clang pour C/C++, convertissent le source en LLVM IR, qui passe par des phases d'optimisation communes, puis des parties arrière pour de nombreux CPU, comme x86, Arm, RISC-V ou les GPU, génèrent le code machine. Pour prendre en charge un nouveau langage ou un nouveau CPU, il suffit de réaliser un seul côté ; c'est sa force. Il n'est réservé ni au C ni à un CPU particulier.

« LLVM » dans les explications

Questions mentionnant « LLVM » (1)

  1. Quelle est l'architecture de base de LLVM ?

Termes associés

Représentation intermédiaire GPU Allocation de registres Analyse lexicale Analyse syntaxique Arbre syntaxique abstrait (AST) Bloc de base Compilation JIT Débordement (spill) Déroulage de boucle (loop unrolling)

Retour au glossaire