LLVM 项目博客

LLVM 项目新闻和来自战壕的细节

LLVM 每周 - 第 22 期,2014 年 6 月 2 日

欢迎来到 LLVM 每周的第二十二期,这是一个每周发布的新闻简报(每周一发布),涵盖 LLVM、Clang 和相关项目的发展。LLVM 每周由 Alex Bradbury 为您带来。订阅未来的期数,请访问 http://llvmweekly.org,并将它传递给您认为可能感兴趣的任何人。请将任何建议或反馈发送至 [email protected],或在 Twitter 上关注 @llvmweekly@asbradbury

上周,我对 GMANE 没有更新表示担忧。我很高兴地报告它现在已恢复正常。我的一些读者可能对我在 湾区创客嘉年华上看到的酷炫的基于 Raspberry Pi 的项目 的描述感兴趣。

本期内容的规范来源 可以在 llvmweekly.org 上找到

来自网络的新闻和文章

David Given 已 分享了他为 Raspberry Pi 中的 BCM2835 所使用的 VideoCore IV VPU 编写的部分完成的后端。现在它已经 公开发布,看到一个 QPU LLVM 后端也很有意思。

有关 TableGen 的 DAGISel 后端工作原理的文档 已更新

已宣布举办 LLVM 编译器基础设施在高性能计算中的研讨会。这是一个与 SC14 同时举办的研讨会。征稿截止日期为 9 月 1 日。

Tartan 是一款针对 GLib 和 GNOME 的 Clang 分析插件。引用其主页的描述:“该插件通过加载所有遇到的函数的 gobject-introspection 元数据(对于库而言,包括代码本身导出的函数;以及代码本身调用的函数)来工作。然后利用该元数据为代码添加编译器属性,例如非空属性,然后编译器可以使用这些属性进行静态分析并发出额外的编译器警告。”

在邮件列表中

LLVM 提交

  • 添加了一个 LoadCombine 传递,但目前默认情况下已禁用。 r209791

  • AAPCS-VFP 已学会处理 Cortex-M4(它只有单精度浮点)。 r209650

  • InstructionCombining 获得了跨 PHI 节点组合 GEP 的支持。 r209843

  • 现在允许对 powi、cttz 和 ctlz 等内在函数进行矢量化。 r209873

  • MIPS64 长分支已优化为小 3 条指令。 r209678

Clang 提交

  • OpenMP 实现持续进行。已为 OMPAlignedClause 实现解析和 Sema。 r209816

  • 添加了 -Rpass-missed-Rpass-analysis 标志。pass-missed 用于由优化器通知用户,当他们尝试应用优化但无法应用时,而 pass-analysis 用于将分析结果报告回用户。后续提交记录了该标志族。 r209839r209841

  • 现在已记录 clang 优化 pragma。 r209738

  • 进行了一些 API 重构。从 ActionResult 中删除了 release 和 take 方法,从 Sema 中删除了 Owned。 r209800r209812

其他项目提交

  • ThreadSanitizer 已对堆块和同步对象的元信息存储进行了重构。 r209810