Wat is LLVM?

Compilerinfrastructuur rond een gemeenschappelijke tussenrepresentatie (LLVM IR), waarin een front-end per taal, optimalisatiefasen en een back-end per CPU kunnen worden gecombineerd. Wordt voor veel talen en CPU's gebruikt.

Japanse benaming: LLVM

“LLVM” komt voor in 1 oefenvragen uit 1 onderwerpen, bijv. Compilers.

Vakgebied: Compilers

Nu oefenen: vragen over LLVM

Welke uitspraak over de basisopzet van LLVM is juist?

  1. AEen compiler uitsluitend voor C, die niet voor andere talen kan worden gebruikt
  2. BEen combinatie van assembler en linker voor slechts één specifieke CPU
  3. CFrontends en backends worden gecombineerd rond een gemeenschappelijke tussenrepresentatie
Antwoord en toelichting tonen

Antwoord: C. Frontends en backends worden gecombineerd rond een gemeenschappelijke tussenrepresentatie

LLVM is een compilerinfrastructuur rond een gemeenschappelijke tussenrepresentatie, LLVM IR. Frontends voor allerlei talen, te beginnen met Clang voor C/C++, zetten de broncode om in LLVM IR, die door gemeenschappelijke optimalisatiefasen gaat, waarna backends voor veel CPU's, zoals x86, Arm, RISC-V en GPU's, machinecode genereren. Een sterk punt is dat bij ondersteuning van een nieuwe taal of CPU maar één kant hoeft te worden gemaakt. Het is niet alleen voor C en niet voor één specifieke CPU.

“LLVM” in de toelichting

Vragen met “LLVM” (1)

  1. Welke uitspraak over de basisopzet van LLVM is juist?

Verwante termen

Intermediaire representatie (IR) GPU Abstracte syntaxisboom (AST) Basic block Common subexpression elimination Constant folding Control-flow-graaf (CFG) Inlining Instructiescheduling JIT-compilatie (just-in-time)

Naar de woordenlijst