LLVM 每周 - 第 20 期,2014 年 5 月 19 日
欢迎来到 LLVM 每周的第二十期,这是一份每周发布的时事通讯(每周一发布),涵盖 LLVM、Clang 和相关项目的最新进展。LLVM 每周由 Alex Bradbury 为您带来。您可以订阅 http://llvmweekly.org 上的未来期数,并将其传递给您认为可能感兴趣的任何人。请将任何建议或反馈发送至 [email protected],或通过 Twitter 联系 @llvmweekly 或 @asbradbury。
本期内容可能比平时略显简略。本周我大部分时间都待在旧金山,为本周末的创客嘉年华做准备,我将在树莓派展位与其他基金会成员一起工作。当这期内容发布时,我将在旧金山度过最后一天,然后前往机场,开始漫长的回家之旅,迎接随之而来的时差反应。
本期内容的规范地址 可以在 llvmweekly.org 上找到。
来自网络的新闻和文章
WebKit 博客上有一篇关于 全新第四层 LLVM JIT 的精彩详细的文章,阐述了如何实现以及原因。
最近宣布了 Neu 框架。它是一个 C++11 框架,包含用于人工智能应用和一般技术计算的编程语言和软件系统集合。它利用 LLVM MC JIT 运行其 NPL 语言,并生成高性能神经网络。
邮件列表中的内容
Tim Northover 发布了一个 关于移除 AArch64 后端并将 ARM64 重命名为 AArch64 的 RFC。这将代表合并这两个后端的最终工作。
如果您想知道我们何时会看到 LLVM/Clang 3.5,Bill Wending 在 邮件列表中发布了消息,告知我们目前的计划是在 7 月开始测试,并计划在 8 月发布。
我总是喜欢指出邮件列表中对问题的优秀答案。庞大而乐于助人的社区是 LLVM 最大的资产之一。本周,我特别关注 Jordan Rose 对 有关使用静态分析器跟踪函数参数的问题的回答。
LLVM 3.4.2 的 测试阶段已开始。根据 时间表,它应该在 5 月 25 日发布,前提是测试阶段没有出现问题。Tom Stellard 也在寻找备份发布经理。
LLVM 提交
内联程序已学习如何保留 musttail 不变式。 r208910。
为线程让步回调添加了新的 C API。 r208945。
一系列改进 MergeFunctions 性能的补丁已提交。现在已在操作之间实现了总排序。 r208973, r208976。
ARM 加载/存储优化过程已修复,使其适用于 Thumb1。 r208992。
GlobalValue 已拆分为 GlobalValue 和 GlobalObject,这允许代码静态地接受 Function 或 GlobalVariable,但不接受别名。 r208716。
整数倒数已优化为不使用除法。此优化受 Souper 影响。 r208750。Souper 发现的另一个优化机会是 -(zext V) 的带符号 icmp。 r208809。
PowerPC 获得了全局命名寄存器支持,适用于 r1、r2 和 r13(具体取决于子目标)。 r208509。
为 ARM64 大端 NEON 实现添加了文档。 r208577。
常量折叠器现在更善于查看 bitcast 常量表达式。这是修复此 这些范围推导的性能较差 的第一步。 r208856。
Clang 提交
Clang 将不再复制具有平凡的已删除复制构造函数的对象。这修复了错误并提高了与 GCC 和 MSVC 的 ABI 兼容性。 r208786。虽然它现在已将 itanium C++ ABI 部分恢复。 r208836。