LLVM 周刊 - 第 36 期,2014 年 9 月 8 日
欢迎来到 LLVM 周刊的第 36 期,这是一份每周新闻简报(每周一发布),涵盖 LLVM、Clang 和相关项目的最新进展。LLVM 周刊由 Alex Bradbury 为您带来。订阅未来的问题,请访问 http://llvmweekly.org,并将它传递给您认为可能感兴趣的任何人。请将任何提示或反馈发送至 [email protected],或在 Twitter 上通过 @llvmweekly 或 @asbradbury 联系我们。
此问题的规范地址 可以在 llvmweekly.org 找到。
来自网络的新闻和文章
本周最大的新闻无疑是备受期待的 LLVM/Clang 3.5 的发布。查看 发行说明 以了解所有更改的完整细分。
Rhine 是一种受 Clojure 启发的 Lisp,它具有 LLVM JIT 后端,现已发布(至少,我之前没有注意到)。关于它的讨论很多,在 HN 上有很多讨论。
英特尔已 发布了其 基于 LLVM 的 CilkPlus 编译器 的新版本。此版本实现了对英特尔 Cilk Plus 语言扩展规范版本 1.2 的支持。
在邮件列表中
Hal Finkel 正在 呼吁测试人员 测试新的无上下文语言指针别名分析算法。除了某些加速之外,还有一些基准测试速度变慢,值得进一步调查。
Richard Pennington 正在 征求 对他关于 Clang 的交叉编译器配置文件格式的提案的反馈意见。最初的原型规范 在他的博客中进行了描述。
Balaram Makam 引发了一场 有趣的讨论,讨论循环不变代码移动的特定情况是否可以被认为是安全的。
LLVM 提交
LLVM 获得了一种新的别名分析实现,即 CFL(无上下文语言)别名分析算法。在引导 LLVM 时,此过程对 TBAA 和 BasicAA 无法回答的查询给出 7-8% 的 NoAlias 响应。 r216970。
旧的 JIT 最终被删除。 r216982。
FastISel 获得了跳过与目标无关的指令选择的功能。这现在被 AARch64 使用,AARch64 仅使用与目标相关的指令选择。 r216947,r216955。
MCAnalysis 已被删除。该代码被认为存在错误且测试不足。 r216983。
AArch64 获得了一个过程,用于尝试删除冗余比较操作。 r217220。
FastISel 进行了大扫除。 r217060。
Clang 提交
VariantMatcher::MatcherOps
已修改以减少生成的代码量。这会减小对象大小和编译时间。 r217152。诞生了一个新的警告。
-Wunused-local-typedef
将警告未使用的局部类型定义。 r217298。