LLVM 项目博客

LLVM 项目新闻和来自战壕的详细信息

LLVM 每周 - 第 23 期,2014 年 6 月 9 日

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

本期在 llvmweekly.org 上的规范地址

来自网络的新闻和文章

Philip Reames 已经 宣布晚期安全点放置的代码现已可用
这是一组来自 Azul Systems 的 LLVM 补丁,旨在支持 LLVM 中的精确重新定位垃圾收集。Phlip 列出了一系列问题,他希望社区能够就如何推进这些补丁提供反馈。目前还没有太多回应,希望很快就会有,因为我知道许多社区都非常希望看到 LLVM 中更好的 GC 支持(例如 Rust、Ocaml)。

本周最大的 LLVM 新闻当然就是 Apple 宣布 Swift 编程语言。它的开发由 LLVM 的原始作者 Chris Lattner 带领。他有一些关于 Swift 的更多信息 在他的网站上。目前还没有源代码发布,并且 Apple 还没有表示它是否会保持专有。无论哪种方式,这都是一项有趣的开发。Chris Lattner 现在在 Twitter 上,并且一直在 发布关于 Swift 实现的片段信息

LunarG 已经 宣布了 Glassy Mesa 项目。该项目由 Valve 资助,将探索通过改进着色器编译器来提高 Mesa 中的游戏性能。当前的解析器和优化层被 glslang 和基于 LLVM 的 LunarGlass 取代。更多技术细节 可以在幻灯片中找到

Sébastien Métrot 发布了 xspray,一个 OS X 上 lldb 的前端。它的一项有趣功能是内置的绘图数据支持。

随着最近所有关于 LLVM 的新闻,似乎 'llvm' 的搜索流量激增

在邮件列表上

LLVM 提交

  • 已引入 jumptable 属性。如果使用此属性标记函数,则可以将对它的引用重写为对相应的跳转指令表函数指针的引用。 r210280

  • 添加了对 Windows ARM 异常处理数据结构的支持,包括对其进行解码。 r209998r210192

  • GlobalAlias 现在可以指向任意 ConstantExpression。有关此操作的后果,请参见提交消息。 r210062

  • 子字级并行 (SLP) 向量化器已扩展以支持对 getelementptr 表达式的向量化。 r210342

  • LLVM 程序员手册已通过使用 IRBuilder 的示例进行改进。 r210354

Clang 提交

  • 已提交语义分析以确保循环处于 OpenMP 规范形式。 r210095

  • 已添加 __builtin_operator_new__builtin_operator_delete。允许对这些进行一些优化,这些优化在 ::operator new 上是不允许的,它们旨在用于实现像 std::allocator 这样的东西。 r210137

  • 已引入新的编译指示以提供向量化和交错的优化提示。现在您可以使用 #pragma clang loop vectorize(enable) 以及 vectorize(disable)vectorize_width(n)interleave(enable/disable)interleave_count(n)r210330

  • 对 MSVC++ ABI 的支持继续,为 MS 添加了 dynamic_castr210377

  • 对全局命名寄存器的支持略有扩展,允许在这些变量中保存指针类型。 r210274

  • 现在支持 GCC 的 -Wframe-larger-than=bytes 诊断。 r210293

其他项目提交

  • 已向测试套件添加了仅基准测试模式。 r210251

  • 已添加 libcxx 中 C++14 后功能的 状态页面r210056

  • 已向 lld 提交了初始的 Makefile 集。 r210177

  • lldb 获得了对检查枚举成员的支持。 r210046

  • Polly 现在可以在没有任何 GPLed 软件的情况下构建。 r210176