LLVM 16.0 发布,默认标准改为 GNU++17

软件资讯 软件资讯 发布于 1年前 184 浏览 0 回复

LLVM 16 已正式发布。LLVM 16.0 中添加了许多令人兴奋的功能,包括更快的 LLD 链接、Zstd 压缩的调试部分、稳定其 LoongArch 支持、默认为 Clang 的 C++17 等等。

下面是 LLVM 16 的主要变化:

  • Clang 的默认 C++ 标准现在是 GNU++17,而不是 GNU++14/C++14 
  • 实现更多 C++20 功能,以及对现有 C++20 功能的错误修复,并为 C++2b 功能做一些准备
  • 实现了更多 C2X 功能
  • 各种 Clang 16 编译器诊断改进
  • LLVM 15 相比,LLVM 16 的 LLD 链接器对 ELF 对象的链接速度要快得多
  • LLVM 16 LLD 现在也支持 Zstd 压缩,类似于 GCC 13 的 Zstd 支持
  • LLVM 的 LoongArch CPU 后端已升级为“实验性”,现在默认启用。还有初始的 LoongArch JITLink 支持和启用的其他功能。LLVM 的 LLDB 调试器还支持调试 LoongArch 64 位二进制文​​件以及 Clang 编译器支持
  • LLVM 16.0 支持新的英特尔 x86 ISA 扩展,包括 AMX-FP16、CMPCCXADD、AVX-IFMA、AVX-VNNI-INT8 和 AVX-NE-CONVERT。
  • 支持的新 Intel CPU 目标是 Raptor Lake、Meteor Lake、Emerald Rapids、Sierra Forest、Granite Rapids 和 Grand Ridge。
  • 提供对带有 -march=znver4 的 AMD Zen 4 处理器的初始支持。
  • LLVM 的 RISC-V 后端增加了对许多新扩展的支持,例如 Zca、Zbe、Zbf、Zbm、Zbp、Zbr 和 Zbt。
  • LLVM 16 添加了对 Arm Cortex-A715 / Cortex-X3 / Neoverse-V2 内核的支持。
  • LLVM 16 的 AArch64 后端现在支持函数多版本控制 (FMV),允许采用自定义代码路径,以根据运行时 CPU/功能优化性能。
  • 删除了对 Armv2A / Armv2A / Armv3 / Armv3M 架构的支持。
  •  LLVM 16 的 libc++ C++ 标准库增加了对更多 C++20 和 C++23 功能的支持。

更多内容可以查看 LLVM 16 的 Release Notes,可从此处下载 LLVM 16.0 源代码和各种二进制文件。

LLVM Discourse 上还有一个简短的发布公告



为您推荐相关文章:

  • LLVM 16.0.1 已发布
  • LLVM 17.0 发布首个 RC
  • 同类文章推荐:

  • FileZilla Server 1.8.2 发布,开源 FTP 服务器
  • gRPC 1.63.0 发布,跨语言 RPC 框架
  • React 18.3.0 发布
  • PHP 获得来自 STF 的 20 万欧元投资
  • Node.js v22 正式发布
  • Ubuntu 24.04 LTS 正式发布