LLVM 每周 - #68,2015 年 4 月 20 日
欢迎来到 LLVM 每周的第 68 期,这是一份每周发布(每周一发布)的新闻通讯,涵盖 LLVM、Clang 和相关项目的最新进展。LLVM 每周由 Alex Bradbury 为您提供。订阅未来的期刊,请访问 http://llvmweekly.org,并将其转发给您认为可能感兴趣的任何人。请将任何提示或反馈发送至 [email protected] 或在 Twitter 上发送至 @llvmweekly 或 @asbradbury。
本期的规范主页 可以在 llvmweekly.org 上找到。
来自网络的新闻和文章
上周当然是 EuroLLVM。很高兴能与一些人见面,或者认识一些我只在 Twitter 上交流过的人。幻灯片和视频很快就会发布,但在此期间,您可以阅读我为我能够参加的演讲维护的 直播博客。非常感谢组织者和所有演讲者。
LLVM 社区一段时间以来最引人注目的新闻是 微软正在开发一个基于 LLVM 的 .NET CoreCLR 编译器。更重要的是,LLILC(发音为“lilac”)是开源的,他们希望将他们的 LLVM 更改贡献到上游。
Cerberus 团队 正在尝试找到一个答案,来回答“C 在实践中是什么?”这个问题,您可以通过填写他们的调查来帮助他们。
Honza Hubička 发布了对 GCC5 中链接时和跨过程优化改进 的精彩概述,其中包含来自 Firefox 构建的数字。似乎已经取得了令人印象深刻的改进。
Simon Cook 撰写了一篇关于 在 LLVM 之外使用 TableGen 的博客文章,特别是对于可参数化 SSH 配置等。疯狂?天才?为什么不能两者兼而有之?
在邮件列表上
Duncan P. N. Exon Smith 提出了一份关于 函数定义的元数据附件的 RFC。有些人担心这会对 Function 的大小产生影响。
Ivan Baev 正在提出一个 间接调用提升 LLVM 传递。此邮件列表帖子给出了关于实现的设计说明,并概述了补丁当前版本的不足之处。
Tom Stellard 询问 MISched 中 Latency 和 ResourceCycles 之间的区别。Andy Trick 给出了一个 非常有用的答案。
Paul Robinson 正在寻求关于 添加一个“调试器目标” 的反馈,他认为目前目标平台被用来推断所需的调试器(从而在例如加速器表上做出选择),但当然调试器的选择并不一定来自于平台。
Colin LeMahieu 希望为 Hexagon DSP 贡献一个汇编器,但他对 如何处理其奇特的语法存在疑问。
LLVM 提交
dereferenceable_or_null
属性已经诞生。正如提交消息中所述,其动机是针对 Java 等托管语言。 r235132。在 Orc JIT API 中添加了一个新层,用于将任意转换应用于 IR。 r234805。
内存内在函数现在可以是尾调用。 r234764。
添加了一个方便的 Python 脚本,用于生成具有梯形图控制流图的 C 程序。其目的是用它来测试预计在 CFG 上为线性时间的算法是否真的是线性的。 r234917。
降低开关和提取跳转表代码已被重写,现在应该能产生更好的结果。 r235101。
Call 现在可以接受一个显式类型参数。 r235145。
Clang 提交
Clang 学习了
-Wrange-loop-analysis
,当基于范围的 for 循环复制范围中的元素时,它会发出警告。 r234804。preserve-bc-uselistorder
选项不再默认启用,但 Clang 会为-emit-llvm
或-save-temps
设置它。 r234920。LLVM 上周对调试 API 进行了大量更改。此提交为它们更新了 Clang。 r235112。