LLVM 项目博客

LLVM 项目新闻和来自战壕的细节

LLVM 每周 - 第 44 期,2014 年 11 月 3 日

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

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

来自网络的新闻和文章

上周举行了 2014 年 LLVM 开发者会议。我无法参加,但似乎有很多很棒的演讲。遗憾的是,关于 Swift 高级 IR 的主题演讲 被取消了。目前还没有关于何时能够在线获取幻灯片和视频的消息。但是,Philip Reames 和 Sanjoy Das 关于在 LLVM 中实现完全重定位垃圾回收的演讲的幻灯片 已在线发布

Peter Zotov 最近一直在为 LLVM OCaml 绑定进行大量工作,并且正在寻找额外的帮助。最近,他关闭了绑定中几乎所有已知的错误,将它们迁移到 ocamlfind,修复了 Lllvm_executionengine,并确保了几乎整个 LLM-C API 都已公开。待办事项列表中的任务包括使用 OUnit2 格式编写测试,将 Kaleidoscope 教程从 camlp4 迁移,以及将 OCaml 绑定分割并添加到 此补丁 中。更雄心勃勃的是,用 OCaml 编写 LLVM 传递以及将 LLVM IR 表示为纯 AST 将很有意思。如果您对这些内容感兴趣,请与 Peter 联系。他可以审查任何补丁,但需要帮助处理此新功能列表。

LLVM 海湾地区每月社交活动将在 11 月 6 日举行

在邮件列表上

  • Reid Kleckner 提议放弃对在 Windows XP 上运行 LLVM 的支持。这将允许使用仅在 Vista 及更高版本中可用的系统 API。到目前为止,所有回复都是积极的,其中甚至有人建议将最低版本提高到 Windows 7。

  • Tom Stellard 建议 弃用 autoconf 构建系统。目前既有基于 autotools 的系统,也有 CMake 系统,尽管对于 LLVM 来说,CMake 似乎是开发人员最常用的系统。Bob Wilson 指出,保持现有 makefile 工作所需的努力远小于更新 CMake 构建以支持所有用例所需的努力。虽然其他回复表明 CMake 构建支持人们现在使用的大多数配置。如果有人喜欢摆弄构建系统(我知道很牵强),似乎只需一点努力就可以取得很大进展,并允许抛弃 makefile 系统。

  • Betul Buyukkurt 发布了 关于间接调用目标分析的 RFC。目标是使用收集的数据进行优化。Kostya Serebryany 描述了如何使用它来为模糊测试器提供反馈,并详细介绍了对这种用例有用的属性。

  • Chris Matthews 宣布,一个新的基于 Jenkins 的 OSX 构建集群已投入使用。这包括多个构建配置文件和一个 O3 LTO 性能跟踪器。Jenkins 配置应该很快提交到 zorg。

LLVM 提交

  • 已提交对编写采样配置文件的支持。将来,将添加对以 GCC 的 gcov 格式读取(也许是写入)配置文件的支持,而 llvm-profdata 将获得对操作采样配置文件的支持。 r220915

  • 已向 X86AsmInstrumentation 添加了一条注释,以描述 asm instrumentation 的工作原理。 r220670

  • 已为 x86 和 x86-64 实现 Microsoft vectorcall 调用约定。 r220745

  • C(和 OCaml)API 获取了用于查询和修改分支以及获取浮点常量值的函数。还有许多其他与 OCaml 绑定相关的提交,数量太多,无法选择出任何有代表性的内容。 r220814r220815r220817r220818

  • 循环和 SLP(超字级并行)向量化器现在已在 Gold 插件中启用。 r220886r220887

Clang 提交

  • libTooling 的重构以减少所需的依赖项意味着 clang-format 的二进制文件现在大约是原来的一半大小。 r220867

其他项目提交

  • lldb 开始采用 StringPrinter API。 r220894

  • 已在 LLDB 中添加了对 FreeBSD 上的 PowerPC/PowerPC64 的初始支持。 r220944