LLVM 周刊 - #80,2015 年 7 月 13 日
欢迎来到 LLVM 周刊的第八十期,这是一份每周一出版的周刊,涵盖 LLVM、Clang 和相关项目的最新发展。LLVM 周刊由 Alex Bradbury 为您提供。订阅未来期刊请访问 http://llvmweekly.org,并将其分享给您认为可能感兴趣的任何人。请将任何提示或反馈发送至 [email protected],或
本期的规范地址 可以在 llvmweekly.org 找到.
来自网络的新闻和文章
已 宣布 2015 年 LLVM 开发者大会。它将于 10 月 29 日和 30 日在加利福尼亚州圣何塞举行。注册信息和征文将在本月晚些时候发出。
LLVM/Clang 3.6.2 已标记。一切顺利的话,我们可以期待 3.6.2 很快发布。
在邮件列表中
Daniel Sanders 在 关于三元组的麻烦 上启动了一场以幽默名称命名的对话。该主题为一个建议更改提供了背景,该更改将从模糊的 TargetTriple 迁移到明确的 TargetTuples。
Juergen Ributzka 提出了一种新的 StackMap 格式。到目前为止,反馈似乎是积极的。
关于 对实践中使用的 C 语言调查的答复分析 的讨论一直持续进行。Chris Lattner 分享了 他对未定义行为赋予编译器优化的自由的一些想法。
Christos Margiolas 分享了他使用 LLVM 进行异构执行工作的补丁。
LLVM 提交
Hexagon 后端获得了一个 BitTracker 类。这旨在与目标无关。如 BitTracker.cpp 顶部的描述,这旨在与特定于目标的机器指令评估器一起使用。本周 Hexagon 后端还有一些其他大型添加。我希望作者能够考虑在某个时间点再次就他们的工作发表演讲。
r241595.llc 学习了
run-pass
选项,它将只运行一个特定的代码生成过程。 r241476。LLVM 现在有关于其内联汇编的文档!
r241698.llvm.frameescape 和 llvm.framerecover 内在函数已重命名为 localescape 和 localrecover。 r241463。
已经进行了各种重构提交,目的是在编译过程中使用单个 DataLayout,由模块拥有。
r241775.引入了一个新的 llvm.canonicalize 内在函数,旨在用于规范化浮点值。 r241977。
新的 argmemonly 属性可用于标记只能通过其参数指针访问内存的函数。 r241979。
Clang 提交
Clang 中有一些补丁改进了 Objective-C 支持。这包括对 Objective-C 类型参数的解析、语义分析和 AST 支持、对 Objective-C 类型参数的支持、
__kindof
类型限定符。Douglas Gregor 在 邮件列表 中对这些更改有更多说明。 r241541、r241542、r241548 等等。Clang 将在适当的时候将 readonly 或 readnone 属性附加到内联汇编指令,这意味着内联汇编将不会被视为过于保守。例如,在某些情况下,内联汇编块可以从循环中提升。 r241930。
Clang 现在识别兼容 GCC 的
-fprofile-generate
和-fprofile-use
标志。 r241825。