LLVM 每周 - 第 38 期,2014 年 9 月 22 日
欢迎来到 LLVM 每周的第 38 期,这是一个每周发布一次的时事通讯(每周一发布),涵盖 LLVM、Clang 和相关项目的最新发展。 LLVM 每周由 Alex Bradbury 提供。订阅未来期刊,请访问 http://llvmweekly.org,并将其转发给您认为可能感兴趣的任何人。请将任何提示或反馈发送至 [email protected],或 @llvmweekly 或者 @asbradbury,推特。
我上周末去了 PyConUK,所以恐怕这一期比往常稍短一些。我一直在谈论 Pyland,这是一款旨在教孩子们用 Python 编程的编程游戏(当然,它可以在树莓派上运行)。
本期文章的规范地址 可在 llvmweekly.org 找到。
来自网络的新闻和文章
最近发表了一篇关于 Harmony 的论文。用作者的话来说,“Harmony 是一款开源工具(构建为 LLVM 传递),它创建了一种新型的应用程序配置文件,称为 Parallel Block Vectors,或 PBVs。 PBVs 在基本块粒度上跟踪动态程序并行性,以发现改进硬件设计和软件性能的机会。” 他们最近的 关于 ParaShares 的论文 描述了他们如何找到多线程程序中最“重要”的基本块。
Richard Pennington 已经写了一些 关于 Clang 交叉编译配置的更多想法。
Clike 是一种低级编程语言,其语法基于 C,并且可以扩展。它当然以 LLVM 为目标。
如果您希望您的 Emacs 编辑器自动反汇编 Emacs 缓冲区中的 LLVM 位码,那么 autodisass-llvm-bitcode 正适合您。
在邮件列表中
Stephen Wu 发布了一个关于 IR 特征的详尽位码兼容性测试 的 RFC。该提案涉及测试每个现有的 IR 特征,以便可以测试向后兼容性,并且当它被无意中破坏时会变得很明显。
如果您想知道用 Clang/LLVM 编译 glibc 的当前状态,Kostya Serebryany 有答案。大约有十个嵌套函数的实例和四个 VLAIS 实例,其中一些补丁正在等待上游审查。
Daniel Stewart 建议在使用 LTO 时将各种传递推迟到链接阶段。对此大家一致同意,建议将矢量化和内联推迟。
Christophe Duvernois 询问 LLVM 是否链接到 miniz 而不是 zlib。如果您有兴趣就将依赖项本地检查到代码库的弊端进行长时间讨论,那么这个主题就是适合您的。
LLVM 提交
LLVM MC 层现在可以写入 BigObj 样式的 COFF 对象文件。 r217812。
X86AtomicExpandPass 已被删除,取而代之的是使用通用 AtomicExpandHooks(它现在具有必要的钩子)。 r217928。
llvm-cov 的内部 API 已经过重新设计。 r217975。
Clang 提交
当命令行长度超过系统限制时,Clang 现在可以使用“响应文件”来调用其他工具。 r217792。
-Wbind-to-temporary-copy
警告不再默认启用。 r218008。Clang 的线程安全分析获得了
-Wthread-safety-reference
,当受保护的变量作为函数参数以引用方式传递时,它会发出警告。 r218087。
其他项目提交
- libcxx 获得了一些支持,可以将 newlib 用作其 C 库。 r218144。