LLVM 项目博客

LLVM 项目新闻和来自前线的细节

LLVM 每周 - 第 11 期,2014 年 3 月 17 日

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

在我写的 与树莓派一起学习 Python (美国) 这本书中,我的个人简介似乎多了一个逗号,导致我的描述不是“编译器黑客,...”而是“编译器、黑客、Linux 极客和自由软件爱好者”。因此,这已经正式确认,我是一个编译器。我想这让我特别适合撰写 LLVM 每周。

以前我只链接到实习机会,而不是招聘广告。我很想知道读者对链接到寻找具有 LLVM 经验的人的招聘广告的看法?请通过电子邮件或 Twitter 告诉我。

此期的规范首页可以在 llvmweekly.org 上找到

来自网络的新闻和文章

在邮件列表中

LLVM 提交

  • 我认为上周没有提到过这一点,但已经决定将覆盖其基类的虚方法标记为 override 关键字(并且 virtual 关键字将被认为是多余的)。r203433r203442 等等。

  • 对 MIPS 上的 NaCl 支持进行了开发,包括对加载、存储、堆栈指针更改和函数调用的沙箱支持。 r203484r203606

  • 正如上周的 RFC 中所讨论的,cmpxchg 现在有一个第二个排序操作数,用于描述在没有进行交换的情况下所需的语义。 r203559

  • 添加了一个优化,以便可以通过添加一个位掩码检查来执行从 switch 到查找表的转换。提交消息中给出了一个示例。 r203694

  • 已删除示例 LLVM 项目。它随着时间的推移而腐烂,并且在 LLVM 正从 autoconf/automake 迁移到 CMake 的时候没有包含 CMake 支持。 r203729

  • PowerPC 后端学习了对 VSX 指令集扩展的基本支持。 r203768

  • 合并了一个修补集,以将 MergeFunctions 时间复杂度从 O(N*N) 改进为 O(N*log(N))r203788

  • MachineRegisterInfo 正在进行一些主要的重构,以便允许使用 C++11 基于范围的 for 循环。 r203865

  • 已删除 linker_privatelinker_private_weak 链接类型。 r203866

Clang 提交

  • Clang 现在会在将无效的排序传递给原子内置函数之一时产生警告。 r203561r203564

  • 在概要引导优化 (PGO) 的世界中,PGO 计数器现在会在必要时缩减到 32 位,而不是仅仅截断。 r203592

  • 静态分析器获得了对检测将指针传递给 const 但未初始化的内存的支持。 r203822

  • -Wunreachable-code 诊断已分解为不同的诊断组,以便提供对不可到达代码检查的访问,以用于 -Wunreachable-code 的默认启发式方法不足的情况。 r203994

其他项目提交

  • lld 现在有一个待办事项列表,其中包含缺少的 GNU ld 命令行选项的列表。 r203491

  • lldb 对 ShouldStopHere 机制的运作方式进行了重新设计。这允许在从一个帧步出到一个没有调试信息的帧时,继续步进直到到达一个确实具有调试信息的帧的模式。 r203747

  • Polly 构建系统已更新,因此 Makefile 构建单个整体 LLVMPolly.so。 r203952