LLVM 每周 - 第 31 期,2014 年 8 月 4 日
欢迎来到 LLVM 每周的第 31 期,这是一份每周发布的新闻通讯(每周一发布),涵盖 LLVM、Clang 和相关项目的最新进展。LLVM 每周由 Alex Bradbury 为您带来。订阅未来的期号请访问 http://llvmweekly.org,并将其转发给您认为可能感兴趣的任何人。请将任何提示或反馈发送到 [email protected],或在 Twitter 上关注 @llvmweekly 或 @asbradbury。
来自网络的新闻和文章
Renato Golin 发布了一篇关于 他关于 LLVM 和 GCC 合作在 GNU Tools Cauldron 上的演讲的反馈总结。这既总结了他正在寻找合作的主要领域,也总结了人们在活动中或之后提供的反馈。
这篇博文介绍了 如何使用 Obfuscator-LLVM 对 Android NDK 二进制文件进行混淆。
在邮件列表中
Johannes Kapfhammer,一位 Google Summer of Code 的学生,已经 发布了一个关于为 C++ 添加模糊解析器的 RFC。Clang 解析器不能用于此,因为它可能正在突出显示不完整的代码片段,其中不包含所有类型或函数。在回复中指出,这与 clang-format 的解析器类似,但显然此解析器不容易重用,并且与 clang-format 的实现紧密相关。
在回复关于人们是否对 LLVM 开发会议上的性能跟踪 BOF 感兴趣的询问时,Renato Golin 发布了 上次会议上讨论的相关问题以及在这些问题上取得进展的总结。
John Kåre Alsaker 发布了一个关于 添加堆栈探测函数属性 的问题。这将用于 Rust 等语言,这些语言尝试使用保护页来检测堆栈溢出。Philip Reames 针对此功能回复了 一些想法。
Daniel Stewart 已经 为 lld 实现 ELF/AArch64 支持,并且正在寻找如何将其上游。人们很乐意接受一个单独的补丁进行审查。
在回复有关 LLVM buildbot 服务中添加构建器的文档的问题时,Dan Liew 发布了 他如何进行的总结。他正在寻找有关这是否是最佳做法的反馈。
John Kåre Alsaker 要求对 增强 Rust 的 BasicAliasAnalysis 提供反馈。Rust 对别名的限制目前还没有得到充分利用。 Hal Finkel 和 Cameron Zwarich 都回复了如何进行的建议。
Tom Stellard 建议将 R600 目标重命名为 AMDGPU。动机是,后端自 R600 是第一个被针对的 AMD GPU 以来就一直使用该名称,但它已经添加了对所有 AMD GPU 的支持。似乎人们同意这是一个明智的重命名。
LLVM 提交
AArch64 的 FastISel 有很多改进,包括对移位立即数、带溢出内在函数的算术运算的支持。 r214345、r214348,以及更多。
SLPVectorizer 已经完成了一个相当大的提交,其中实现了“改进的调度算法”。遗憾的是,提交消息没有提供更多细节。 r214494。
TargetInstrInfo 获得了
isAsCheapAsMove
,它接受一个 MachineInstruction 并返回 true,如果该指令与移动指令一样便宜。 r214158。LLVM 库现在可以导出为可导入的 CMake 目标,这使得构建基于 LLVM 的项目变得更容易。现在已经记录了这一点。 r214077。
已提交 3.5 开发期间 PowerPC 更改的发行说明。 r214403。
已提交针对支持对碎片化变量(例如,通过寄存器传递的按值结构参数)的调试位置进行的初始工作。 r214576。
Clang 提交
对 MSVC ABI 支持的工作正在进行中。Clang 现在将考虑对字段的必需对齐约束。 r214274。
AddressSanitizer 现在使用元数据而不是通过创建全局变量将源代码级信息从 Clang 传递给 ASan。 r214604。
PowerPC 后端现在支持使用
-mabi=
选项选择 ELFv1/ELFv2 ABI。 r214074。