LLVM 项目博客

LLVM 项目新闻和来自战壕的第一手资料

LLVM 每周 - 第 41 期,2014 年 10 月 13 日

欢迎来到 LLVM 每周的第 41 期,这是一份每周发布一次的新闻通讯(每周一发布),涵盖 LLVM、Clang 和相关项目的最新进展。LLVM 每周由 Alex Bradbury 制作。订阅未来的版本请访问 http://llvmweekly.org,并将它传递给您认为可能感兴趣的任何人。请将任何提示或反馈发送到 [email protected],或在 Twitter 上 @llvmweekly@asbradbury

这个周末我在慕尼黑参加 ORCONF。关于 lowRISC 的演讲幻灯片可以在 这里 查看。

本期新闻的正版源地址 可以在 llvmweekly.org 上找到

来自网络的新闻和文章

ELLCC,基于 LLVM/Clang 的交叉开发工具包 现在提供了 Windows 版本

IBM 发布了一个悬赏,用于修复在 PowerPC 上失败的 AddressSanitizer 测试。

GCC 需要你!大量 潜在的新贡献者入门点 已发布到 GCC 邮件列表。

在邮件列表上

  • Hayden Livingston 对 LLVM 在全程序优化中的使用示例 感兴趣,他提到了 LLVM JIT 功能和 GC 作为感兴趣的领域。Philip Reames 回复 了对当前状态的良好描述,并指出他为 GC 状态点内联函数 编写的补丁集正在等待审查,并有望在接下来的几周内合并。曾在苹果公司负责 FTL JS JIT 的 Filip Pizlo 回复 建议使用 Bartlett 风格的以复制为主的收集器。

  • Peter Collingbourne 建议将官方 Go 绑定添加到 LLVM 项目。到目前为止,所有回复都似乎是积极的。

  • Saleem Abdulrasool 指出 lld 不符合 LLVM/Clang 的编码风格。你可以想象,没有什么比空白符和变量命名约定更能引起开发者的反馈,所以这个主题的讨论相当长。开发者普遍认同,lld 使用 LLVM 风格会更好,但对以一个大型补丁进行迁移感到不安,因为这会污染提交历史并使 git/svn blame 变得不太有用。几年前提交了一个补丁到 git,以 实现忽略 git blame 中某些提交的能力,但似乎该功能从未被添加。

LLVM 提交

  • 只有两种情况和一个默认值的选择开关现在被优化为几个选择。 r219223

  • llvm-symbolizer 现在将用于符号化 LLVM/Clang 崩溃转储。 r219534

  • 循环行程计数的计算,对于具有多个出口的循环,已经去悲观化。 r219517

  • MIPS fast-isel 学会了整数和浮点数比较以及条件分支。 r219518r219530r219556

  • R600 获得了一个加载/存储机器优化器传递。 r219533

Clang 提交

  • 集成汇编器默认情况下已为 ppc64 和 ppc64le 启用。 r219129

  • clang-format 对特殊注释的解释,用于禁用限定范围内格式化的文档。 r219204

  • 集成汇编器默认情况下已为 SystemZ 启用。 r219426

其他项目提交

  • lld 获得了对 "fat" mach-o 档案的支持。 r219268

  • lldbtk 示例有一些进一步的开发。 r219219

  • lldb-gdbserver 现在可用于本地进程 Linux 调试。 r219457

  • lldb 的反汇编格式现在可以自定义。 r219544