LLVM 每周 - 第 116 期,2016 年 3 月 21 日
欢迎来到 LLVM 每周的第 116 期,这是一份每周通讯(每周一发布),涵盖 LLVM、Clang 和相关项目的进展。LLVM 每周由 Alex Bradbury 提供。订阅未来的问题,请访问 http://llvmweekly.org,并将其转发给您认为可能感兴趣的任何其他人。请将任何提示或反馈发送至 [email protected],或在 Twitter 上发送至 @llvmweekly 或 @asbradbury。
本期可以在 llvmweekly.org 找到。
来自网络的新闻和文章
如果您是学生,并且想在暑假期间获得报酬来完成与 LLVM 相关的项目,那么请考虑 申请 Google Summer of Code 与 LLVM。有关 Summer of Code 的更多详细信息,请访问 这里。申请截止日期为本周五,3 月 25 日,格林威治时间 19:00。如果您对开源硬件感兴趣,我还鼓励您查看 lowRISC 的项目想法。
Stephen Kelly 撰写了关于他 新的基于 Clang 的工具,用于将 C++ 代码库移植到几乎总是使用 auto 的文章。正如 Twitter 上所指出的,来自 Trail of Bits 的 Ryan Stortz 有一个工具可以删除 auto 并进行 大致相反的操作。
Honza Hubička 写了他的 使用 GCC6 和 LTO 构建 LibreOffice 的实验。其中包括与使用 LLVM 和 Clang 的构建的比较。
Nick Clifton 分享了 2 月份和 3 月份 关于 GNU 工具链 的更新,可能对您有用。
Capstone 反汇编框架和 Unicorn 多架构模拟器的开发者正在为 Keystone 多架构汇编框架 运行一项筹款活动。与 Capstone 一样,它将建立在 LLVM 之上,但也 旨在超越 LLVM。
在邮件列表中
Ehsan Amiri 分享了 关于 InstCombine 规范形式变化的 RFC。在随后的讨论中,有人提出了无类型指针工作的当前状态的问题 并得到了回答。
Sean Silva 分享了一些 关于 LLD 与 --build-id 的最新性能观察。添加对该选项的支持会导致可衡量的速度下降,在查看与之前添加该选项的链接器比较时应考虑这一点。
我通常更喜欢链接到邮件列表线程,这些线程已经有一些讨论或尝试找到答案,但我认为这个线程值得更多人关注。Jia Chen 对 LLVM 使用更复杂的指针分析的权衡 感兴趣。在撰写本文时,还没有回复,但这似乎是一个有趣的问题。
Huw Davies 提出了一种 新的 IR 属性,incoming-stack-align。Wine 需要此属性,因为 Wine 可能要求函数具有与主机对齐方式不同的 ABI 堆栈对齐方式。
LLVM 提交
添加了一个新的 Error 支持类来支持结构化错误处理。有关更多信息,请参见与之相关的 LLVM 程序员手册更新。 r263609。
已为高级 CMake 构建配置提交了新文档。 r263834。
添加了对 MIPS32R6 紧凑分支的支持。 r263444。
MemCpyOptimizer 现在将尝试重新排序指令以创建可优化的序列。 r263503。
llvm-readobj 学会以 GNU 风格打印节和重定位。 r263561。
Clang 提交
已为
preserve_mostcc
和preserve_allcc
调用约定添加了属性。 r263647。clang-format 将处理 JavaScript 中自动分号插入的一些情况。 r263470。
Clang 学会将一些 Objective-C 消息发送转换为运行时调用。 r263607。