Compiler

Welche Beschreibung des grundlegenden Aufbaus von LLVM ist richtig?

  1. AEin ausschließlich für C gedachter Compiler, der mit anderen Sprachen nicht verwendbar ist
  2. BEine Kombination aus Assembler und Linker nur für eine bestimmte CPU
  3. CEine gemeinsame Zwischendarstellung im Zentrum, an die Frontends und Backends angeschlossen werden
Antwort und Erläuterung anzeigen

Antwort: C. Eine gemeinsame Zwischendarstellung im Zentrum, an die Frontends und Backends angeschlossen werden

LLVM ist eine Compiler-Infrastruktur rund um die gemeinsame Zwischendarstellung LLVM IR. Frontends verschiedener Sprachen, allen voran Clang für C/C++, übersetzen den Quellcode in LLVM IR, die gemeinsamen Optimierungsphasen durchlaufen ihn, und Backends für viele CPUs wie x86, Arm, RISC-V und GPUs erzeugen den Maschinencode. Ihre Stärke ist, dass für eine neue Sprache oder CPU nur eine Seite entwickelt werden muss. Es ist weder auf C noch auf eine bestimmte CPU beschränkt.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Compiler

  1. In welcher Situation wird bei den Optionen zur Wahl der Optimierungsstufe häufig die Einstellung ohne Optimierung (z. B. -O0) verwendet?
  2. Welche Beschreibung der profilgesteuerten Optimierung (PGO) ist richtig?
  3. Welche Optimierung wird durch Link-Time Optimization (LTO) am ehesten möglich?
  4. In C ist der Überlauf von vorzeichenbehafteten Ganzzahlen undefiniertes Verhalten. Welcher Code kann ein optimierender Compiler unter dieser Voraussetzung für die obige Funktion erzeugen?
  5. Welcher Programmfehler lässt sich bereits zur Kompilierzeit finden?

Vergleiche zu diesem Thema