LLVM 项目博客

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

LLVM 每周 - 第 124 期,2016 年 5 月 16 日

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

本期文章的规范来源 可在 llvmweekly.org 上找到.

来自网络的新闻和文章

本周的主要新闻是 Scala-native 的发布,这是一个使用 LLVM 的 Scala 预先编译器。如果您想编译它并尝试它,Jos Dirkens 已经写了一份 入门指南。您还可以从 公告演讲的幻灯片 中找到更多信息。

在邮件列表中

LLVM 提交

  • 过时的 LLVM 交叉编译指南已更新。 r269054.

  • WebAssembly 后端获得了初步的快速指令选择(fast-isel)支持。 r269083r269203r269273.

  • 现在在 LLVM 中,循环展开(除了显式 pragma 的情况)在 -Os 时被禁用。您可能还记得上周它在 Clang 中针对 -Os 被启用,但阈值不同。 r269124.

  • 循环展开器已实施了一个新的成本跟踪系统。 r269388.

  • LLVM 的 Sparc 后端添加了更多 LEON 特定的功能,例如带符号和无符号乘加。 r268908.

  • llc 的 -run-pass 选项现在将与传递注册表中已知的任何传递一起使用。以前,如果您指定间接添加的分析传递或优化管道中不存在的传递,它会静默地不执行任何操作。 r269003.

  • WebAssembly 寄存器堆栈化和着色现在在优化管道中非常晚地运行。提交信息建议将这些传递视为基于生命周期的特定于域的压缩,而不是传统的优化。 r269012.

  • 在文本 LLVM IR 中声明全局变量时,现在必须为其赋值,例如使用 @0 = global i32 42r269096.

  • 内部汇编器现在默认情况下针对 32 位 MIPS 目标启用。 r269560.

Clang 提交

  • Clang 现在支持 __float128r268898.

  • Clang 获得了一个新的警告,当从函数中删除调用约定时触发。 r269116.

  • 最近开发的 include-fixer 工具现在有文档。 r269167.

其他项目提交

  • compiler-rt 的 CMake 构建系统现在可以构建内联函数,而无需完整的工具链,从而允许您引导交叉编译器。 r268977.

  • LLD 现在将对重新定位进行排序,以优化动态链接器的性能。 r269066.