LLVM 项目博客

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

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 配置等。疯狂?天才?为什么不能两者兼而有之?

在邮件列表上

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

其他项目提交

  • 减少 LLD 中模板的使用量,将 AArch64TargetHandler.cpp.o 的大小从 21MB 减少到 4.1MB。 r234808r234931

  • lldb 中已经落地了一个大型补丁集,它添加了在 ARM 上支持 lldb 所需的大部分工作。 r234870