LLVM 每周 - 第 119 期,2016 年 4 月 11 日
欢迎阅读 LLVM 每周的第 119 期,这是一份每周发布的通讯(每周一发布),涵盖 LLVM、Clang 和相关项目的最新进展。LLVM 每周由 Alex Bradbury 为您提供。在 http://llvmweekly.org 订阅未来的问题,并将其传递给您认为可能感兴趣的任何人。请将任何提示或反馈发送至 [email protected],或在 Twitter 上发送至 @llvmweekly 或 @asbradbury。
本期内容的规范位置可在 llvmweekly.org 上找到。
来自网络的新闻和文章
上周,最近的 EuroLLVM 2016 开发者会议 的幻灯片发布到了网上。本周,这之后发布了 会议演讲视频。
John Regehr 撰写了一篇关于 LLVM 中高效的整数溢出检查 的文章,探讨了 LLVM 可以和不能移除不必要的溢出检查的情况,以及如何改进这一点。
Pocl 的 0.13 版本发布了,Pocl 是一个可移植的 OpenCL 实现。 发布了。此版本与 LLVM/Clang 3.8 和 3.7 兼容,并添加了初始 OpenCL 2.0 支持和改进的 HSA 支持。
QuarksLab 的 Serge Guelton 编写了一份非常有用的指南,介绍了 在 Clang 中实现自定义指令处理程序。
微软的 Visual C++ 团队正在 征求关于 Clang/C2(带微软 CodeGen 的 Clang)的反馈。
在邮件列表上
James Molloy 发布了一个关于添加对 对长双精度数调用 math.h 函数的常量折叠支持 的 RFC。目前,这些函数不会被常量折叠,因为内部的 APFloat 类没有实现它们,而且长双精度数操作不可移植。解决方案包括向 APFloat 添加支持、链接到 libMPFR 以提供编译时评估,或者识别主机和目标的长双精度数格式是否相同,以便可以调用主机数学库。从目前收到的回复来看,似乎对添加 libMPFR 依赖项有一些抵制。
Sanjoy Das 发布了一个关于 添加可修补序言属性 的 RFC。这将用于指示函数的序言是为支持轻松的热修补而编译的。
Ulrich Weigand 分享了一个关于 在 SystemZ 上支持 Linux 上的 LLDB 的补丁。该补丁集包含许多大端修复,对于那些希望移植 LLDB 的人来说可能会有所帮助。
LLVM 提交
LLVM 将不再对可以“精炼”的函数执行过程间优化。 r265762。
现在记录了 lit 支持的替换。 r265314。
展开的循环现在在尾声中执行余数,而不是在序言中。这应该会产生略微改进的代码。 r265388。
Clang 提交
Clang 获得了 Swift 调用约定所需的支持。 r265324。
新的标志 `-fno-jump-tables` 和 `-fjump-tables` 可用于在降低 switch 语句时禁用/启用对跳转表的支持。 r265425。
TargetOptions 现在通过所有 TargetInfo 构造函数传递。这将允许根据选择的 ABI 修改目标信息。 r265640。
emmintrin.h 中的许多内在函数现在都有 Doxygen 文档。 r265844。