手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

LLVM Clang 8.0编译器堆栈的新功能和更改

[日期:2019-02-26] 来源:Linux公社  作者:醉落红尘 [字体: ]

如果一切顺利,LLVM 8.0最早明天就会与Clang 8.0 C/C++编译器以及这个开源编译器堆栈的其他子项目一起发布。下面看看LLVM 8对开发人员意味着什么。

作为LLVM的最新6个月更新,有很多关于LLVM 8.0及其相关项目的信息。其中一些亮点包括:

- LLVM的WebAssembly目标不再被认为是实验性的,现在默认启用。

- 现在可以通过-march=cascadelake为这些新的Intel Xeon CPU提供Intel Cascade Lake支持。相关的,还有一些AVX-512对LLVM 8的改进。

- 继续改进开源Radeon图形堆栈的AMDGPU LLVM后端......如果你在像Vega这样的新型AMD GPU上运行,这是一个很大的优势。

-  Clang现在可以选择使用模式初始化自动变量。 LLVM的文档解释说,这是程序员在代码中有一些未定义的行为并且“使未定义的行为受到更少伤害”的“最后手段”。 - -ftrivial-auto-var-init=uninitialized,现在默认启用此行为,可以帮助解决潜在的安全问题。

-  AMD Piledriver/Bdver2调整对那些仍在使用这些旧款AMD Bulldozer CPU的用户进行了改进。

-  Clang编译器前端现在支持按功能推测的负载强化,以通过-mspeculative-load-hardening开关改进其Spectre V1防御。

-  ARMv8.5分支目标识别作为Arm的新Spectre防御的一部分。

-  POWER9的代码生成改进以及各种其他POWER架构增强功能。

-  MIPS/MIPS64现在支持LLVM ORC JIT。

- GNU Hurd工具链支持被合并到主线LLVM/Clang。

- 支持在x86架构上进行配置文件驱动的软件缓存预取。

- LLDB现在提供了语法高亮显示在终端打印C代码。

- 继续改进Clang的诊断工作。

- Windows上的Clang编译器的持续改进。

Clang中的OpenCL支持现在已经改进了地址空间支持,包括内置的Clang、各种补丁、支持新的Intel供应商扩展、许多c++的OpenCL扩展,以及该领域的其他工作。

Clang增加了新的OpenMP 5.0特性,并扩展了NVIDIA CUDA设备支持。

总的来说,LLVM/Clang 8.0将成为另一个伟大的版本,而在GNU方面,GCC 9.1稳定版将在未来几周发布。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-02/157137.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款