LLVM 每周 - #81, 2015 年 7 月 20 日
欢迎来到 LLVM 每周的第八十一期,这是一个每周发布的新闻通讯(每周一发布),涵盖 LLVM、Clang 和相关项目的进展。LLVM 每周由 Alex Bradbury 带来。在 http://llvmweekly.org 订阅未来的期刊,并将其传递给您认为可能感兴趣的任何人。请将任何提示或反馈发送至 [email protected],或在 Twitter 上发送至 @llvmweekly 或 @asbradbury。
本周我在毕尔巴鄂参加“度假”(EuroPython),主要是在 Raspberry Pi 团队的教育轨道上提供帮助。如果想聊聊 lowRISC、LLVM 或 Raspberry Pi,请一定要来打招呼。
本期文章的规范归档地址为 llvmweekly.org 上的这个地址。
来自网络的新闻和文章
LLVM 3.6.2 已发布。
LLVM 和 Clang 3.7 已分支。
Pyston 团队(基于 LLVM 的 Python JIT)撰写了一篇博客文章,介绍了他们的 新对象代码缓存功能。
在邮件列表上
Teresa Johnson 发布了一篇关于 ThinLTO 符号链接和重命名的 RFC。
Robert Lougher 撰写了一篇关于 糟糕的寄存器分配案例的非常详细的分析,对某些人来说可能很有趣。
Chandler Carruth 撰写了一篇关于 LLVM 中有状态别名分析的 RFC。该计划假设使用新的通行证管理器。GlobalsModRef 是最难处理的情况,Chandler 专门写了一篇关于 它所面临的问题 的文章。
Hal Finkel 有兴趣使用 C++11 中引入的新功能(例如 final 关键字)来 改进反虚拟化。该提议引发了不少讨论。
Juergen Ributzka 开始了一项关于 改进 LLVM C API 的维护和管理 的讨论。Eric Christopher 建议将 C API 迁移到另一个项目,这样那些想要/需要稳定 API 的人就可以承担起保持其更新的责任。他 详细阐述了自己的提议,以回应 Chris Lattner 的观点。似乎有 一些支持 为 C 绑定提供与 C++ API 相同的稳定性保证(即它可能会在主要版本之间发生变化)。
Hal Finkel 提出了一个关于 在 LLVM 中定义无限循环的 RFC。
LLVM 提交
用于确定被调用者保存寄存器的 API 已经重写。 r242165。
引入了“调试器调整”的概念,允许指定应针对其优化调试信息的调试器。默认情况下,在 OS X 和 FreeBSD 上为 lldb,在其他所有平台(PS4 除外,它默认使用 SCE 调试器)上为 GDB。 r242388。
引入了用于绝对差运算的内联函数。 r242409。
PostRAScheduler 已针对 Apple Swift CPU 禁用,并使用 MachineScheduler 代替。提交消息认为 PostRAScheduler 不适合乱序架构,并建议对其他 ARM OoO CPU 进行相同的切换可能是值得的。 r242500。
Clang 提交
Clang 前端已添加对 armv7-windows-gnu 目标的支持。 r242292。
现在可以通过命令行选择 clang 模块容器格式(raw 或 obj)。 r242499。
添加了一个最小的 AMDGPU 工具链配置。 r242601。