LLVM (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.