LLVM 每周 - 第 78 期,2015 年 6 月 29 日
欢迎来到 LLVM 每周的第 78 期,这是一份每周发布的新闻简报(每周一发布),涵盖 LLVM、Clang 和相关项目的最新进展。 LLVM 每周由 Alex Bradbury 为您带来。在 http://llvmweekly.org 订阅未来期刊,并转发给您认为可能感兴趣的任何人。请将任何建议或反馈发送到 [email protected],或者在 Twitter 上 @llvmweekly 或 @asbradbury。
本周我在湾区参加 第二届 RISC-V 研讨会,我和我的同事当然会谈论 lowRISC。如果您无法参加,请关注 lowRISC 博客,我打算用来自演讲和演示的笔记对其进行半实时更新。
本期期刊的官方网址 可在 llvmweekly.org 找到。
来自网络的新闻和文章
Hans Wennborg 分享了 LLVM/Clang 3.7 的发布计划。这将使发布分支在 7 月 14 日创建,最终发布目标为 8 月 21 日。
对 "C 语言在实践中的现状" 调查结果的 详细分析 现已发布。该调查获得了大约 300 份回复,旨在帮助指导对 C 语言事实标准(即 C 语言的使用方式,而不是仅仅作为 ISO 标准中规定的)的正式模型的定义。
3.6.2-rc1 LLVM/Clang 版本已 标记。一如既往,鼓励测试。
在邮件列表上
不幸的是,在撰写本文时,GMANE 似乎遇到了一些问题,因此本周我将使用指向相关邮件列表帖子的 pipermail 存档的链接。
Adrian Prantl 提出了一个关于 提高调试位置和 DbgValueHistoryCalculator 质量 的提案。这将涉及添加新的启发式方法,使 DbgValueHistoryCalculator 在创建范围方面更加智能。
Sanjoy Patel 启动了关于 位运算 AND 和布尔值的短路求值之间的转换 的讨论。特别是,他希望确保不使用短路求值(尽管如线程中所指出的,节省分支的益处高度依赖于微架构)。
Dan Liew 发布了关于 改进对导出的 LLVM CMake 目标的测试 的 RFC。他创建了一个 玩具项目,利用这些目标,这可以用来帮助确保它们保持工作状态。
Bjarke Roune 正在提出 确定毒化值何时保证会产生未定义行为的功能,目的是改进 LLVM 传递(如标量演化)中对 nsw/inbounds 和类似内容的处理。
Philip Reames 回应了 Chandler Carruth 的问题,很好地总结了 通过 statepoints 和 patchpoints 支持内联的动机。
LLVM 提交
已引入 InterleavedAccess 传递,以识别交错的内存访问,以便将其转换为特定于目标的内联函数。 r240751。
已添加机器指令的初始序列化,在 YAML 中表示 MachineInstructions。 r240295、r240425 等。
已优化 CaptureTracking 传递,以提高对非常大的基本块的性能。 r240560。
已添加 LLVM stackmap 部分的解析器,并通过 llvm-readobj 提供。 r240860。