LLVM 每周 - 第 107 期,2016 年 1 月 18 日
欢迎来到 LLVM 每周的第 107 期,这是一份每周发布(每周一发布)的通讯,涵盖 LLVM、Clang 和相关项目的最新进展。 LLVM 每周由 Alex Bradbury 为您带来。 订阅未来期刊,请访问 http://llvmweekly.org,并将其转发给您认为可能感兴趣的任何人。 请将任何建议或反馈发送到 [email protected],或在 Twitter 上发送到 @llvmweekly 或 @asbradbury。
本期期刊的正式页面 位于 llvmweekly.org。
本周我有一个非常令人振奋的非 LLVM 新闻要分享。 周六,我向我的伴侣 Carrie Anne 求婚,我很高兴地告诉大家 她答应了。 你可能会质疑这条个人消息与你有什么关系,对此我想强调 Carrie Anne 对这份周刊的重要性。 过去两年来,我每周都会在晚上和周末抽出 2-3 个小时以上的时间,而这些时间本该是我们作为情侣一起度过的。 没有 Carrie Anne 的理解和支持,LLVM 每周就无法存在。 2016 年将是令人振奋的一年。
来自网络的新闻和文章
EuroLLVM 2016 的报名现已 开放。 会议将于 3 月 17 日至 18 日在巴塞罗那举行。 论文征集截止日期为 1 月 25 日。
Clang/LLVM 开发冲刺活动的报名现已 开放,活动将在 2 月 6 日/7 日周末在彭博社的伦敦和纽约办事处举行。
下一场剑桥 LLVM 社交活动将于 1 月 20 日星期三下午 7:30 举行,并将与 FreeBSD 社交活动联合举办。
在邮件列表上
Rui Ueyama 对 每个 LLD 提交进行了基准测试。 他观察到,随着链接器功能的增加,链接器总体上变得越来越慢,但似乎没有哪个提交会导致链接时间增加,而没有合理的理由。
Chris Bieneman 发布了关于 从主干中删除 autoconf 的 RFC。 该提案建议于 1 月 26 日将其从存储库中删除。 到目前为止,似乎还没有人对此时间表提出异议。
Krzystof Parzyszek 分享了对 最近提交的寄存器数据流框架的描述。
关于全局指令选择的讨论一直在进行,尤其是围绕着大端系统上 bitcast 的语义。 James Molloy 已经 发帖澄清了当前的行为。
JF Bastien 发布了关于 在 LLVM IR 中支持非临时栅栏的 RFC。
Quentin Colombet 正在 征求关于如何最好地将 LLVM IR 值映射到 MachineInstr 值的反馈,这是他 GlobalISel 工作的一部分。
LLVM 3.8 的分支 现已创建。 第一个发布候选版本应该很快就会发布。
John McCall 发布了关于 在 Clang 中强制执行指针类型对齐 的 RFC。 该 RFC 提出了以下内容:“创建对齐方式低于其指向类型指针的行为不是未定义行为。 相反,只有通过对齐方式低于其指向类型的指针访问内存才是未定义行为。”
Philip Reames 发布了一个用于所有使用 RewriteStatepointsForGC 的人的说明。 最近对指针向量处理进行了更改。
Derek Schuff 在之前关于在寄存器分配后允许虚拟寄存器的讨论中跟进,在一些离线讨论之后又分享了一些想法。
Hans de Goede 正在为 TGSI(Tungsten Graphics Shader Infrastructure,由 Gallium 使用)开发一个后端,并有一些 问题。
LLVM 提交
ORC JIT API 现在支持通过 RPC 接口到单独进程的远程 JIT。 LLI 工具已更新以使用此接口。 r257305,r257343。
Hexagon 后端获得了一个与目标无关的基于 SSA 的数据流框架,用于表示物理寄存器之间的數據流,并使用它来实现寄存器存活性分析、死代码消除和复制传播。 r257447,r257480,r257485,r257490。
关于将代码提交到 Phabricator 审查到主干的文档已改进。 r257764。
WebAssembly 获得了一个基于临时二进制格式的原型指令编码器和反汇编器。 r257440。
LLVM 的 MathExtras 获得了一个 SaturatingMultiplyAdd 帮助程序。 r257352。
llvm-readobj 对转储 CodeView 调试信息的支持已大幅扩展。 r257658。
查找实现 bswap 或 bitreverse 的代码序列并发出适当的内在函数的代码已重写。 r257875。
AMDGPU 后端获得了一个针对 Southern Islands 架构的新机器调度程序。 r257609。
Clang 提交
已添加了 scan-build 的 Python 实现。 r257533。
现在在 x86 上支持“interrupt”属性。 r257867。
Clang 学会了响应
-fsanitize-stats
标志。 它目前只能与控制流完整性一起使用,并允许转储统计信息。 r257971。