LLVM IR erhält Byte-Typ: Native Unterstützung für rohe Speicherzugriffe

2025-09-09

Ein Google Summer of Code 2025-Projekt innerhalb der LLVM-Compiler-Infrastruktur hat erfolgreich einen neuen Byte-Typ zum LLVM IR hinzugefügt, der rohe Speicherwerte repräsentiert. Dies ermöglicht die native Implementierung von speicherbezogenen intrinsischen Funktionen wie memcpy, memmove und memcmp, behebt fehlerhafte Transformationen und ermöglicht neue Optimierungen, alles mit minimalen Performance-Einbußen. Das Projekt adressierte das langjährige Problem von LLVM, einen Typ zum Darstellen von rohem Speicher zu fehlen, wodurch die Korrektheit und Optimierung des Compilers durch die Verfolgung der Provenienz von Zeigern und die präzise Darstellung von Poison-Bits verbessert wurde. Die Behandlung von rohen Speicherzugriffstypen in C/C++ durch Clang wurde ebenfalls verbessert, zusammen mit Korrekturen für mehrere fehlerhafte Optimierungen.

Entwicklung