LLVM 每周 - 第 37 期,2014 年 9 月 15 日
欢迎来到 LLVM 每周的第 37 期,这是一份每周发布的通讯(每周一发布),涵盖 LLVM、Clang 和相关项目的最新发展。LLVM 每周由 Alex Bradbury 为您带来。订阅未来的期刊,请访问 http://llvmweekly.org,并将它传递给您认为可能感兴趣的任何其他人。请将任何建议或反馈发送至 [email protected],或在 Twitter 上发送至 @llvmweekly 或 @asbradbury。
本期周刊来自阳光明媚的特内里费岛。是的,我对每周 LLVM 更新的奉献精神如此伟大,以至于我在度假时写了它。享受吧!我还想指出,我下周将在 PyCon UK 做 演讲,演讲内容是我们一些实习生在暑假期间从事的一个项目的结果,该项目为树莓派创建了一个编程游戏。
本期期刊的规范来源 可以在 llvmweekly.org 上找到。
来自网络的新闻和文章
Pyston 不仅拥有一个闪亮的新博客,他们还 发布了 0.2 版本。Pyston 是一个使用 LLVM 实现的 Python,由 Dropbox 领导。此版本支持在 0.1 中不支持的一系列语言功能,包括对本机 C API 的支持。计划在 0.3 的开发周期中专注于性能。
Sylvestre Ledru 发布了一篇关于 使用 Clang 构建 Debian 的进展报告,该报告紧随今年 Google 暑期代码项目的完成。现在,使用 Clang 3.5.0,有 1261 个软件包无法使用 Clang 构建。Sylvestre 描述了他们如何从两方面解决问题,通过向上游项目提交补丁,以及在适当的情况下(例如,忽略一些不支持的优化标志而不是出错)提交给 Clang。
在邮件列表中
Philip Reames 在 添加对“常量”加载的优化提示 上发起了讨论。一个常见的情况是,字段只初始化一次,然后不再被修改。如果可以表达这种不变式,它可以改善别名分析,因为 AA 过程将永远不会认为该字段可能与其他东西别名(Philip 报告说,使用基于类型的别名分析的明显方法还不够)。
Hal Finkel 发布了一个关于 将属性附加到值 的 RFC。目前,诸如 noalias 和 nonnull 之类的属性可以附加到函数参数,但在 C++11 lambda 之类的情况下,这些属性可以打包到结构中,而属性会丢失。一些后续讨论集中在是否可以将这些属性表示为元数据。当然,那里的问题是元数据旨在可丢弃(即在语义上不重要)。我非常喜欢 Philip Reames 在 建议中说测试套件应该运行一个强制丢弃元数据的过程来验证它确实可以安全地丢弃。
Robin Morisset 发布了一个关于 实现栅栏消除算法 的提案。所提出的算法基于部分冗余消除。他正在寻求关于建议的实现方法的反馈。
关于 重新开始 VMKit 的工作 的主题有一些讨论。
LLVM 提交
llvm.assume 基础设施的开始已经提交,以及 AlignmentFromAssumptions 传递。请参阅 原始 RFC 以回顾 llvm.assume 内在函数。 r217342,r217344。
LLVM 的样本配置文件阅读器已重构为 lib/ProfileData。 r217437。
AMD 16H Jaguar 微架构现在有一个调度模型。 r217457。
'bigobj' COFF 变体现在可以读取。 r217496。
Clang 提交
其他项目提交
- LLD 获得了对 AArch64 Mach-O 的支持。 r217469。