LLVM 每周 - #126,2016 年 5 月 30 日
欢迎来到 LLVM 每周的第 126 期,这是一份每周发布的通讯(每周一发布),涵盖 LLVM、Clang 和相关项目的最新发展情况。LLVM 每周由 Alex Bradbury 为您带来。订阅未来的问题请访问 http://llvmweekly.org,并将其转发给您认为可能感兴趣的任何其他人。请将任何提示或反馈发送到 [email protected],或在 Twitter 上发送到 @llvmweekly 或 @asbradbury。
本期文章的规范来源 可以在 llvmweekly.org 上找到。
这个周末我一直在搬家,所以如果您发现本期文章比平时略微不那么全面,请接受我的歉意。
来自网络的新闻和文章
基于 LLVM 的 Python 编译器 Pyston 发布了 0.5 版。主要变化是切换到引用计数和 NumPy 兼容性。
我不想变成“C++ 每周”,但我认为这个受众很欣赏 C++ 特性的趣味性使用。 Verdigris 是一个仅包含头文件的库,允许您在没有 moc 预处理器的情况下使用 Qt5。
面向 第三届 LLVM 编译器基础架构在 HPC 中的研讨会 的征文公告已发布。论文提交截止日期为 9 月 1 日。研讨会将于 11 月 14 日在盐湖城举行,与 SC16 同时举行。
在邮件列表上
Vivek Pandya,一名正在进行过程间寄存器分配的 GSoC 学生,已分享了他的 每周状态报告。
Rafael Espíndola 提出 创建位代码符号表。
Elena Lepilkina 提出了一些 FileCheck 的增强功能。有人对提议的扩展的实用性提出了疑问。Sergey Yakoushkin 提供了更多关于 这些功能如何在商业代码库中使用 的背景信息。正如 Elena 指出的那样,这些功能并不需要全部一次性上游(或者根本不上游),而且大多数是独立的。
Lang Hames 发布了一条关于 即将到来的 ORC 和 MCJIT 的 API 更改 的预警。
Sean Silva 启动了关于 IRPGO 状态 的讨论。您可能会问什么是 IRPGO?这是通过在 LLVM IR 级别进行检测来执行的配置文件引导优化,而不是 FEPGO,其中检测是由前端(例如 Clang)添加的,在降低到 IR 之前。Sean 希望将 IRPGO 设为除 Apple(可能需要更长的弃用期限)之外的所有平台的默认值。许多后续评论讨论了确保所有平台都能协同前进的可能性,以及确保存在一个合理的标志来选择前端或中间端 PGO。
寄存器压力集到底是什么? Quentin Colombet 和 Andrew Trick 都为我们提供了答案。
LLVM 提交
高级展开分析现在默认启用。 r270478。
'Kaleidoscope' 教程的新章节的初始版本已提交。这描述了如何使用 ORC 构建 JIT。 r270487,r271054。
为了增加可以重叠的堆栈变量的数量,LLVM 的堆栈着色分析数据流分析已重写。 r270559。
EfficiencySanitizer 的部分开始落地,特别是其工作集工具的检测。 r270640。
SelectionDAG 了解了如何扩展较大整数类型的乘法,而没有标准的运行时调用来处理它。 r270720。
LLVM 现在将通过从 llvm.loop 元数据中读取起始位置来报告更准确的循环位置,以优化备注。 r270771。
汇编指令现在支持符号表达式,与 GNU 汇编器的行为相匹配。 r271102。
插件使用的符号现在可以在 Windows 上自动导出,这提高了 Windows 上对插件的支持。有关完整描述,请参阅提交消息。 r270839。
Clang 提交
Sparc 的软件浮点现在已通过
-msoft-float
在 Clang 中公开。 r270538。Clang 现在支持
-finline-functions
参数,以单独启用内联,而不是标准的-O
标志。 r270609。