Compilers
Welke uitspraak over de basisopzet van LLVM is juist?
- AEen compiler uitsluitend voor C, die niet voor andere talen kan worden gebruikt
- BEen combinatie van assembler en linker voor slechts één specifieke CPU
- 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.