LLVM 每周 - #54,2015 年 1 月 12 日
欢迎来到 LLVM 每周的第五十四期,这是一份每周发布的时事通讯(每周一发布),涵盖 LLVM、Clang 和相关项目的最新进展。LLVM 每周由 Alex Bradbury 带来。订阅未来期刊,请访问 http://llvmweekly.org,并将其传递给您认为可能感兴趣的任何人。请将任何提示或反馈发送至 [email protected],或在 Twitter 上关注 @llvmweekly 或 @asbradbury。
当您收到本周的期刊时,我应该已经启程前往加利福尼亚,在那里我会在蒙特利举行的 RISC-V 研讨会上介绍 lowRISC,并参加一些母亲会议。我将在星期五至星期日待在旧金山,星期六比较空闲,如果有人想见面聊聊 LLVM 或 lowRISC/RISC-V,欢迎来约。
本期期刊的规范地址 可以在 llvmweekly.org 找到。
来自网络的新闻和文章
Euro LLVM 2015 将于 4 月 13 日至 14 日在英国伦敦举行。征稿现已开始,截止日期为 2 月 16 日。
FOSDEM 的 LLVM 开发室 的演讲已公布。LLVM 开发室将于 2 月 1 日星期日举行。读者会很高兴地知道,这不会与 我关于 lowRISC 的演讲 冲突,我的演讲将在星期六举行。
谷歌现在在 Linux 上使用 Clang 构建生产 Chrome 版本。他们以前使用的是 GCC 4.6。与该基线相比,性能大致保持不变,而二进制文件大小减少了 8%。与更新的 GCC 基线进行比较肯定会很有趣。博文表明,他们希望将来使用 Clang 构建适用于 Windows 的 Chrome。
Philip Reames 对 维护 LLVM 的成本 做了一个有趣的粗略估计。他挑选了一些似乎可以轻松自动化的提交,并根据开发人员时间估算了一项成本。他得出的数字是每月 1400 美元。
英国剑桥的下一个 LLVM 聚会将于 1 月 21 日星期三下午 7:30 举行。
在邮件列表上
LLVM 3.6 将于 1 月 14 日 很快分支。
Philip Reames 询问 地址空间 1 在任何架构上是否被保留。答案似乎是否定的,尽管该主题导致了一些关于地址空间的使用以及保留某些地址空间的讨论。Philip 提出了一个关于不同地址空间数字含义的草案提案。
Chandler Carruth 建议 需要新的 IR 功能来表示全局元数据当前用于的用例。元数据旨在用于保存可以安全丢弃的信息,但对于例如模块标志来说,事实并非如此。
Arch Robinson 启动了关于 LLVM 中的浮点范围检查 的讨论。这目前不受支持,但人们一致认为它可能很有用,并且还对一些预期细节进行了相当多的讨论。
如果您想知道关于别名指令的信息,Bruce Hoult 提供了一个 很好的解释。
注意,针对树外后端维护者的说明,get/setLoadExtAction 现在接受另一个参数。
目前,LLDB 将以 C++ 模式编译输入的表达式。正如 lldb 邮件列表中提到的那样,当例如调试包含名为“this”的局部变量的 C 函数时,这可能会出现问题。Greg Clayton 指出了支持 C++ 表达式可以多么有用,即使在调试 C 代码时也是如此。
关于 新通行证管理器设计 的主题被重新提起。Chandler Carruth 和 Philip Reames 都建议 BasicBlockPasses 应该消失。
Philip Reames 正在寻求有关 将循环转换为循环嵌套的转换 的反馈,如果循环包含不常执行的慢速路径。该主题中有一些有趣的讨论,阅读 Duncan P.N. Exon Smith 关于 分支权重、分支概率、块频率和块偏差的澄清 也很值得。
LLVM 提交
已向机器循环不变代码移动通行证添加了一个选项
hoist-cheap-insts
,以启用即使是廉价指令的提升(只要寄存器压力很低)。默认情况下禁用此选项。 r225470。DIE.h(用于 DWARF 信息条目的数据结构)现在是一个公共 CodeGen 头文件,而不是 AsmPrinter 实现的私有头文件。dsymutil 将使用它。 r225208。
新的通行证管理器现在有一个方便的实用程序,用于生成一个无操作通行证,强制执行通常延迟的分析。 r225236。
comdat 的 .ll 语法发生了微小变化。 r225302。
LLVM 和 tablegen 模式的 Emacs 包有一些小改进。 r225356。
Clang 提交
引入了
Wself-move
警告。类似于-Wself-assign
,它将在您的代码尝试将值移动到自身时发出警告。 r225581。现在检查了 I、J、K、M、N、O 内联汇编约束。 r225244。