LLVM (früher Low Level Virtual Machine) ist eine modulare Compiler-Unterbau-Architektur mit einem virtuellen Befehlssatz, einer virtuellen Maschine, die einen Hauptprozessor virtualisiert, und einem übergreifend optimierenden Übersetzungskonzept (
mehr dazu bei Wikipedia).
Als eines der Hauptmerkmale des LLVM-Frameworks gilt die große Menge an ausgefeilten Optimierungen. Trotzdem bleibt das Problem der Reduzierung der Codegröße.
Dieser Beitrag auf Learningtech.com zeigt anhand eines Beispiels mit dem Compiler Cheerp, der C++ entgegenimmt und daraus WebAssembly (.wasm) und JavaScript (.js) macht, wie sich die Codegröße verringern lässt.