LLVM 项目博客

来自战壕的 LLVM 项目新闻和详情

LLVM 每周 - 第 20 期,2014 年 5 月 19 日

欢迎来到 LLVM 每周的第二十期,这是一份每周发布的时事通讯(每周一发布),涵盖 LLVM、Clang 和相关项目的最新进展。LLVM 每周由 Alex Bradbury 为您带来。您可以订阅 http://llvmweekly.org 上的未来期数,并将其传递给您认为可能感兴趣的任何人。请将任何建议或反馈发送至 [email protected],或通过 Twitter 联系 @llvmweekly@asbradbury

本期内容可能比平时略显简略。本周我大部分时间都待在旧金山,为本周末的创客嘉年华做准备,我将在树莓派展位与其他基金会成员一起工作。当这期内容发布时,我将在旧金山度过最后一天,然后前往机场,开始漫长的回家之旅,迎接随之而来的时差反应。

本期内容的规范地址 可以在 llvmweekly.org 上找到

来自网络的新闻和文章

WebKit 博客上有一篇关于 全新第四层 LLVM JIT 的精彩详细的文章,阐述了如何实现以及原因。

最近宣布了 Neu 框架。它是一个 C++11 框架,包含用于人工智能应用和一般技术计算的编程语言和软件系统集合。它利用 LLVM MC JIT 运行其 NPL 语言,并生成高性能神经网络。

邮件列表中的内容

LLVM 提交

  • 内联程序已学习如何保留 musttail 不变式。 r208910

  • 为线程让步回调添加了新的 C API。 r208945

  • 一系列改进 MergeFunctions 性能的补丁已提交。现在已在操作之间实现了总排序。 r208973r208976

  • ARM 加载/存储优化过程已修复,使其适用于 Thumb1。 r208992

  • GlobalValue 已拆分为 GlobalValue 和 GlobalObject,这允许代码静态地接受 Function 或 GlobalVariable,但不接受别名。 r208716

  • 整数倒数已优化为不使用除法。此优化受 Souper 影响。 r208750。Souper 发现的另一个优化机会是 -(zext V) 的带符号 icmp。 r208809

  • 我非常喜欢这些针对单个位测试的转换 已使用 Z3 验证r208848

  • PowerPC 获得了全局命名寄存器支持,适用于 r1、r2 和 r13(具体取决于子目标)。 r208509

  • 为 ARM64 大端 NEON 实现添加了文档。 r208577

  • 常量折叠器现在更善于查看 bitcast 常量表达式。这是修复此 这些范围推导的性能较差 的第一步。 r208856

Clang 提交

  • 已提交对 MS ABI 兼容 RTTI 编码的初步支持。 r208661r208668

  • Clang 将不再复制具有平凡的已删除复制构造函数的对象。这修复了错误并提高了与 GCC 和 MSVC 的 ABI 兼容性。 r208786。虽然它现在已将 itanium C++ ABI 部分恢复。 r208836

其他项目提交

  • 已提交 LLDB 机器接口。这是对 GDB 机器接口 的实现,对于实现您自己的 LLDB 前端很有用。 r208972

  • AddressSanitizer 开始获得一些 Windows 测试。 r208554r208859r208873 等。

  • 已修复检测到的配置文件库 API,使其适用于共享对象,现在支持对 dlopened 共享库进行分析。 r208940r209053