LLVM

Zu den wichtigsten Highlights von LLVM 18.1.0 gehört die Unterstützung von Intels AVX10.1-256 und AVX10.1-512 Instruction Set Architectures (ISAs), wodurch neue Ziele für zukünftige Intel-CPUs wie Panther Lake und Clearwater Forest hinzugefügt werden. Die Version verbessert außerdem die Unterstützung für die Standards C++23 und C23.

Neuerungen in LLVM 18.1

  • Einführung der ISA-Unterstützung für Intel AVX10.1-256 und AVX10.1-512.
  • Neue Target-Unterstützung für Intel Panther Lake und Clearwater Forest CPUs.
  • Implementierung des Schalters "-mapxf", der die Aktivierung von Intel Advanced Performance Extensions (APX) unterstützt.
  • Erweiterte Unterstützung von RISC-V-Befehlen und Hinzufügen des SiFive P670-Targets.
  • Unterstützung für Arm Cortex A520, A720, X4 und Cortex-M52 CPUs.
  • LoongArch auf LLVM unterstützt jetzt LSX 128-Bit und LASX 256-Bit SIMD sowie Auto-Vektorisierung und Linker-Relaxation.

Clang 18.1 Funktionen und Verbesserungen

  • Fortschritte bei der Unterstützung der C++20- und C++23-Standards, mit Vorarbeiten für C++2c.
  • Einführung der Optionen -std=c23 und -std=gnu23 für die Unterstützung der Sprache C23 sowie die Implementierung verschiedener C23-Funktionen.
  • Hinzufügen von Intel AVX10.1 ISA und Intel USER_MSR Ergänzungen.
  • Neue Panther Lake und Clearwater Forest Targets.
  • Erste Bemühungen, die OpenACC-Unterstützung durch die Option "-fopenacc" in den Upstream zu bringen.
  • Verbesserungen der GCC-Interoperabilität und -Semantik.
  • Verbesserungen bei der Diagnose und Hinzufügen von Alpha-Unterstützung für ARM SVE2.1-Intrinsics.
  • Einführung neuer experimenteller Checker für den statischen Analyzer von Clang und Unterstützung für die Intel OpenMP-Kernelsprache.
  • Eine umfangreiche Liste von Fehlerkorrekturen zur Verbesserung der Stabilität und Funktionalität des Compilers.

LLVM und Clang 18.1 bildet eine solide Grundlage für künftige Entwicklungen in der Compilertechnologie und legt den Schwerpunkt auf Leistung, Kompatibilität und die Einbindung modernster Programmierstandards.