LLVM 项目博客

LLVM 项目新闻和来自一线的细节

LLVM 每周 - #95, 2015 年 10 月 26 日

欢迎来到 LLVM 每周的第九十五期,这是一份每周发布的通讯(每周一发布),涵盖了 LLVM、Clang 和相关项目的最新进展。LLVM 每周由 Alex Bradbury 提供。订阅未来的期刊,请访问 http://llvmweekly.org,并将其转发给您认为可能感兴趣的任何人。请将任何提示或反馈发送到 [email protected],或在 Twitter 上发送到 @llvmweekly@asbradbury

本期文章的规范主页 可以在 llvmweekly.org 上找到

来自网络的新闻和文章

C++ 标准化委员会刚刚结束了最近的会议,STL(Stephan T. Lavavej)已 提供了有用的摘要。Herb Sutter 也 发布了行程报告

HHVM 团队发布了有关 LLVM 代码生成在 HHVM 中的现状的更新。他们设法让 LLVM 的性能与他们的自定义后端相当,但目前不会将 LLVM 后端部署到生产环境中。他们不再积极开发 LLVM 后端,但希望确保其不会退化。

Hal Finkel 建议在 11 月 15 日晚上在奥斯汀举办 LLVM 社交活动。由于 LLVM 在 HPC 研讨会,应该会有很多 LLVM 用户。

在邮件列表上

LLVM 提交

  • 引入了 TargetLowerBase::LibCall LegalizeAction。这允许后端控制它们是否更喜欢扩展或转换为 libcall。 r250826

  • Hexagon 后端继续积累复杂的特定于目标的优化。HexagonBitSimplify 继续执行许多转换以执行简化、冗余代码消除等。 r250868

  • 新的 AliasAnalysis 基础设施获得了可选的 'external' AA 包装器传递,以允许用户合并外部 AA 结果。补丁中包含的单元测试提供了一个关于如何使用它的好例子。 r250894

  • CodeGenPrepare 现在可以将 select 指令转换为分支并将昂贵的操作数下沉。 r250743

  • 循环旋转现在可以在 MachineBlockPlacement 中使用配置文件数据来进行决策。 r250754

  • ValueTracking 现在有一个 isKnownNonEqual 谓词。 r251012

Clang 提交

  • 添加了对预期的 C++1z 协程特性的基本支持(目前是解析和基本语义分析)。 r250980r250985r250993

  • -fvisibility=internal 现在是 -fvisibility=hidden 的别名,因为 LLVM 目前不支持内部可见性。 r250954

  • Clang 的静态分析器学会了将散列与找到的问题相关联。这个散列旨在对代码更改具有弹性,因此对于抑制误报很有用。 r251011

其他项目提交

  • lld 获得了对 x86-64 上的延迟重定位的支持。 r250808

  • 新的 LLD ELF 链接器现在支持 --gc-sections 参数。这将 Clang 的链接时间增加了 8%,但将输出二进制文件的大小减少了 4%。 r251043

  • LLDB 获得了 REPL。 r250753r250773

  • LLDB 中的 DWARF 解析现在可以进行多线程处理,这可以极大地提高加载调试信息的 speed。 r251106