LLVM  Bild © LLVMLLVM (Bild © LLVM)

Was ist neu im LLVM 17 Compiler-Stack?

Zu den herausragenden Neuerungen des LLVM 17 Compiler-Stacks gehören die nachfolgenden Features:

  • Die Integration einer FatLTO-Pipeline, die die Erstellung von Objektdateien sowohl mit Maschinencode als auch mit LTO-kompatiblem Bitcode ermöglicht. Dadurch wird die Unterstützung für Entwicklungs-Builds und optimierte Binärdateien verbessert.
  • Erweiterte Assembler-Unterstützung für die AArch64 Arm 2022 A-Profil-Erweiterungen.
  • Verbesserte AMDGPU LLVM Backend-Funktionen, insbesondere im Hinblick auf Barrieren für GFX9 und nachfolgende Versionen.
  • Zusätzliche Assembler/Disassembler-Unterstützung für die LoongArch-Erweiterungen wie LSX und LVZ.
  • Erhebliche Verbesserungen im RISC-V-Backend, das zahlreiche RISC-V ISA-Erweiterungen unterstützt.
  • Erweiterte Unterstützung für neuere Intel ISA-Features auf x86/x86_64 wie SM3, SM4 und AVX-VNNI-INT16.
  • Einführung des neuen Granite Rapids D-Targets in LLVM 17.
  • Der BOLT-Optimierer in LLVM unterstützt jetzt auch das RISC-V-Target.

Was ist neu im Clang 17 Compiler?

Auch der Clang C/C++ Compiler in der Version 17 hat Update bekommen und bringt unterdessen folgende Neuerungen:

  • Verbesserte Unterstützung von C++20-Features, die jetzt Co-Routinen auf allen Plattformen außer Windows vollständig unterstützen.
  • Fortschritte bei der Unterstützung von C++23-Features und deren Kompatibilität.
  • Eine Vielzahl von Verbesserungen der Clang-Diagnose.
  • Unterstützung für AMX-COMPLEX und zusätzliche ISA-Erweiterungen auf x86/x86_64.
  • Umstellung auf gnu++17 als Standard von c++14 für CUDA/HIP.

Darüber hinaus bietet LLVM 17 zahlreiche weitere Verbesserungen, wie z. B. den verbesserten LLD-Linker, die erweiterte libc++-Unterstützung für C++20 und C++23 und die laufenden Upgrades für das Flang-Frontend in der LLVM-Fortran-Unterstützung.