这个
LLVM 17
编译器堆栈已经发布为与LLVM 17.0.1一样稳定——留下17.0.0-rc标记的一个小错误意味着跳过了原始的v17.0.0标记。这个LLVM 17.0.1稳定版本以及Clang 17 C/C++编译器等子项目带来了许多新功能和改进。
LLVM 17编译器堆栈有许多新的变化,包括一些值得注意的添加,例如:
-LLVM添加了一个FatLTO管道,该管道允许使用机器代码和LTO兼容的位代码生成对象文件。这个
LLVM对Fat LTO对象的支持
允许用于开发构建以及优化的二进制文件。
-AArch64 Arm 2022 A型扩展防护控制堆栈、检查功能状态和ATS1A的装配支持。
-AMDGPU LLVM后端针对GFX9和更新版本的障碍提供了更细粒度的同步,增加了对地址空间7和8的支持,支持各种新的内部功能,以及其他新功能。
-LoongArch上的LLVM添加了对LSX、LASX、LVZ和LBT LoongArchISA扩展的汇编程序/反汇编程序支持。
-大量RISC-V后端改进,包括支持许多较新的RISC-V ISA扩展和其他新功能。
-x86/x86_64上的LLVM 17添加了对较新的Intel ISA功能的支持,如SHA-512、SM3、SM4和AVX-VNNI-INT16
箭湖和月湖
。
-LLVM 17添加了新的Granite Rapids D(-mcpu=graniterapids-D)目标。
-LLVM的BOLT优化器添加了初始RISC-V目标支持。
在这个C/C++编译器的Clang方面,Clang 17更新提供了:
-更多的C++20功能支持已经到位,包括协同例程现在在除Windows之外的所有目标上都得到了完全支持。
-各种C++23特性支持改进,包括现在支持-std=C++23选项。
-实现更多C2x功能支持。
-改进了-O0优化级别的代码生成。
-添加各种GCC stdio内置程序,并使用新标志改进其他GCC兼容性支持。
-Clang的各种诊断改进。
-Clang on x86/x8_64现在支持AMX-COMPLEX和其他新的ISA扩展,以及用于Intel Granite Rapids CPU支持的-march=graniterapids-d。
-在CUDA/HIP方面,gnu++17现在是默认标准,而不是c++14。
LLVM 17还有其他工作要做,比如LLD链接器的改进,包括许多ELF增强,libc++支持更多的C++20和C++23功能,Flang前端也在继续改进,以支持LLVM Fortran。
有关今天LLVM 17.0.1版本的下载和更多详细信息,请访问
LLVM.org
.