LLVM 每周 - #75,2015 年 6 月 8 日
欢迎来到 LLVM 每周的第 75 期,这是一个每周发布的新闻简报(每周一发布),涵盖 LLVM、Clang 和相关项目的最新进展。LLVM 每周由 Alex Bradbury 编写。订阅未来的期刊,请访问 http://llvmweekly.org,并将其转发给任何您认为可能感兴趣的人。如有任何提示或反馈,请发送至 [email protected],或在 Twitter 上关注 @llvmweekly 或 @asbradbury。
本期期刊的规范地址 可在 llvmweekly.org 找到。
来自网络的新闻和文章
Botond Ballo 发布了一篇关于 最近 Lenexa C++ 标准会议的精彩总结,甚至还包括一个表格来总结各种主要提案的状态。
不知何故,我之前忽略了 Crystal 语言。它是一种静态类型语言,其语法灵感来自 Ruby,并且(当然)使用 LLVM 编译。它 在上周的 Hacker News 上被讨论。
icGrep 已 发布。它利用 'Parabix' 文本表示和 LLVM 实现高性能正则表达式匹配。更多详细信息请访问 icGrep 主页。
第 7 届 Underhanded C 竞赛的获奖者 现已在线公布。恭喜冠军 Karen Pease,感谢她创作了如此令人惊叹的代码。
邮件列表
Chandler Carruth 发布了一篇关于 最近关于 LLD 的未来和设计的面对面讨论的总结。看起来这是一次非常积极的会议,在重要领域达成了一致。最近贡献的实验性 COFF 链接器将被评估,以确定其链接模型是否适合 Darwin。如果可以,希望工作可以集中在将其作为标准模型进行采用。如果不行,将需要对 LLD 进行更多重构工作,并确保可以共享的代码是合理的。
Christos Margiolas 作为高通创新中心的实习生,一直致力于对异构计算的支持,包括将循环或函数透明地卸载到加速器。他 正在寻求反馈,并希望了解大家是否对将其上游化感兴趣。他 分享了一个幻灯片,其中提供了更多详细信息。
Woodrow Barlow 对 为 LLVM 实现一个新的 PIC 后端 感兴趣。Renato Golin 给出了一个关于 如何进行操作的非常详细和有帮助的回复。
Frank Winter 正在寻找一种方法来 用循环替换一系列重复代码。有人指出,LLVM 循环重排传递对这种情况很有帮助,但它需要在现有的循环上运行。这意味着它需要修改,或者应该修改 IR 以在运行重排传递之前引入一个简单的循环。
Philip Reames 发布了一个关于添加 liveoncall 参数属性 的 RFC。这将用于即使参数实际上没有使用,也要将它标记为 live(因此它可能在运行时被检查)。Chris Lattner 询问 添加一个内联函数是否是一个更好的方法。
LLVM 提交
LLVM 获得了对新的 AArch64 v8.1a 原子指令的支持。 r238818。
MPX(英特尔内存保护扩展)特性位和绑定寄存器现在在 X86 后端得到支持。 r238916。
随着 MCSymbolELF 的引入,基本 MCSymbol 大小现在在 x86-64 上减小到 48 字节。 r238801。
AliasAnalysis 的移植工作已开始移植到新的传递管理器。 r239003。
BPF 后端现在支持大端和小端,以及之前支持的小端。 r239071。
最近添加的展开启发式的命名和结构已被修改。 r239164。
Clang 提交
ARM 的
-mcpu
现在将忽略 ARM 参数的大小写。 r239059。PowerPC 添加了一系列预定义的向量函数。 r239066。
概念和 require 关键字(如 C++ Concepts TS 中使用的那样)现在已被词法分析。希望这个起点能被跟进,并在未来几个月内开展支持完整概念的工作。 r239128。