LLVM 项目博客

LLVM 项目新闻和来自一线的详细信息

LLVM 每周 - 第 28 期,2014 年 7 月 14 日

欢迎来到 LLVM 每周的第 28 期,这是一份每周发布的时事通讯(每周一发布),涵盖 LLVM、Clang 和相关项目的进展。LLVM 每周由 Alex Bradbury 为您呈现。订阅未来的期刊,请访问 http://llvmweekly.org 并将其转发给您认为可能感兴趣的任何人。请将任何提示或反馈发送至 [email protected],或者在 Twitter 上通过 @llvmweekly 或者 @asbradbury 联系我们。

我将在下个周末参加在剑桥大学计算机实验室举行的 GNU 工具大熔炉 2014(恰好也是我的工作地点)。如果您在那里,请跟我打个招呼。

此期刊的规范位置 可以在 llvmweekly.org 上找到.

来自网络的新闻和文章

关于 Clang/LLVM 在 Windows 上的更新已 发布在 LLVM 博客上。已经取得了令人印象深刻的进展,正如我上周提到的,MSVC 兼容性页面 已更新。

现在(令人惊奇的是)有一个 用于 LLVM 的 Pascal-86 前端。编译器前端完全用 Python 编写。作者的 硕士论文(通过 Phoronix)提供了更多信息。

在邮件列表上

LLVM 提交

  • FastISel 获得了一些基础设施来支持与目标无关的调用降低挂钩以及与目标无关的补丁点内在函数降低。 r212848r212849.

  • DominanceFrontier 已被模板化,因此理论上它现在可以用于 MachineBasicBlocks(以前它只能用于 BasicBlocks)。 r212885.

  • 通过利用对某些内在函数(如 memcpy 和 memset)的了解,CallSite 与 CallSite BasicAA 查询的结果质量得到了提高。 r212572.

  • 对 x86 向量降低的彻底改造工作正在进行。Chandler 现在报告说,在启用新的代码路径后,LLVM 在为 SSE2/SSE3 编译时,在 x264 代码的核心 C 循环方面,现在已经达到了与 GCC 相当的性能水平。 r212610.

  • 用于 AddressSanitizer 的 ASM 检测现在完全在 MachineCode 中生成,不再依赖于运行时辅助函数。 r212455.

  • 在 MIPS 后端添加了新 mips.abiflags 部分的生成。 r212519.

  • isDereferenceablePointer 现在将查看一些位转换。 r212686.

Clang 提交

  • 添加了一个新的检查器,用于标记在将变量用作分母后测试其是否为 0 的代码(暗示可能发生除零错误)。 r212731.

  • Clang 获得了对 omp parallel for、omp parallel sections 指令以及 omp task 的初步支持。 r212453r212516r212804.

  • 在 ARM 目标上,当 ldrex/strex 可用时,将使用 LLVM 的 atomicrmw 指令。 r212598.

  • 添加了对 mips-img-linux-gnu 工具链的支持。 r212719.

其他项目提交

  • ThreadSanitizer 的死锁检测器在经过 Chromium 代码库的长期测试后默认启用。 r212533.

  • 对 Android 的 bionic C 库的支持已添加到 libcxx 中。 r212724.

  • LLDB 的 Python 脚本接口现在应该在 Windows 上正常工作。 r212785.