LLVM 每周 - 第 129 期,2016 年 6 月 20 日
欢迎来到 LLVM 每周的第 129 期,这是一个每周发布的新闻通讯(每周一发布),涵盖 LLVM、Clang 和相关项目的发展。LLVM 每周由 Alex Bradbury 为您带来。订阅未来的问题请访问 http://llvmweekly.org,并将其转发给您认为可能感兴趣的任何人。请将任何提示或反馈发送到 [email protected],或 @llvmweekly 或者 @asbradbury 在 Twitter 上。
本期文章的正式主页 可在 llvmweekly.org 上找到.
来自网络的新闻和文章
上周是 WWDC,其中包含关于 LLVM 的新功能 (幻灯片) 和 Swift 的新功能 (幻灯片) 的演讲。请注意,嵌入式视频播放器建议您需要 Safari 或 WWDC 应用程序才能流式传输视频,但您可以在“资源”选项卡下找到可下载版本。
在邮件列表中
Jason Henline 宣布了 LLVM parallel-libs 子项目,它将“承载旨在使代码并行化并与编译器技术紧密相关的库的开发。适合在
parallel-libs
子项目中托管的库示例包括运行时库和并行数学库。此子项目中的初始包含候选者是 StreamExecutor 和 libomptarget,它们分别位于parallel-libs
的streamexecutor
和libomptarget
子目录中。”本周最活跃的主题之一是关于 3.9 之后的发行版是否应该为 4.0。讨论的很大一部分集中在从 3.9 到 4.0 的迁移是否应该伴随着打破 IR 兼容性的大规模更改。Chris Lattner 建议 一个滑动的 IR 兼容性窗口可能更好.
TB Schardl 发布了关于 将 CSI 框架上游(“综合静态检测”)的 RFC。该 代码 现在正在审查中。这个框架使实现动态分析工具变得容易,通常不需要编译器更改。
Ashutosh Nema 分享了关于 步长内存访问向量化 的 RFC。
为了回应邮件列表中的一个问题,Hubert Tong 对 Clang 中概念支持工作现状的脑力激荡 做了介绍,包括参与的机会。
Paweł Bylica 寻求有关处理 LLVM 作为项目依赖项的建议。特别是,是否值得调查 CMake 的 ExternalProject 模块?Chris Bieneman 分享了一些建议.
Michael Kuperstein 发布了关于 允许循环向量化器选择生成非法类型的向量宽度 的 RFC。到目前为止,反馈似乎是可能的。
LLVM 提交
FileCheck 学习了
--check-prefixes
选项作为多个--check-prefix
选项的简写。 r272670.引入了
local_unnamed_addr
属性。这可以被代码生成器和 LTO 用于允许链接器决定全局变量是否需要在符号表中。 r272709.ScalarReplAggregates 传递已被移除,因为它已经被 SROA 替代了很长时间。 r272737.
LLVM 的 C API 获得了对字符串属性的支持。 r272811.
汇编解析和词法分析已经进行了清理。 r273007.
Clang 提交
添加了一个新的循环分配 pragma。循环分配是一种转换,它试图将一个循环分解成多个循环,每个循环执行一部分循环体。 r272656.
nodebug 属性现在可以应用于局部变量。 r272859.
MIPS CPU/ABI 配对的有效性检查现在在初始化时执行,并打印出更清晰的消息。 r272645.