LLVM 项目博客

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

LLVM 每周 - 第 85 期,2015 年 8 月 17 日

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

如果您对开源硬件、lowRISC、RISC-V、OpenRISC 等感兴趣,请考虑 加入我们在 10 月份举行的 ORConf 2015 大会。我也在寻找演讲稿提交。

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

来自网络的新闻和文章

4 月份 EuroLLVM 的视频 现已上线

2015 年 LLVM 开发者大会的 征文截止日期 正在迅速临近。请在 8 月 20 日太平洋标准时间下午 11:59 之前提交您的提案。

一篇详细介绍 Polly 中使用的 AST 生成技术的论文已在 TOPLAS 七月号上发表。您可以阅读预印本 这里

可定制命名约定检查器 (CNCC) 是一款基于 Clang 的新工具,可用于根据所选正则表达式验证类、字段、变量和命名空间的命名约定。

EvilML 是一款美味恐怖的编译器,它将 ML 编译为 C++ 模板语言。

邮件列表

LLVM 提交

  • MergeFunctions 通过哈希函数并在执行完全比较之前比较该哈希值,从而大大加快了速度。这导致 libxul 中 MergeFunctions 的速度提高了 46%,Chromium 中的 MergeFunctions 速度提高了 117%。r245140

  • 现在,32 位 SPARC 支持 i64 加载和存储。由于 LDD/STD 指令需要一对连续的奇偶 32 位寄存器,因此这在支持方面有点棘手。 r244484

  • 机器基本块现在使用自定义语法而不是 YAML 进行序列化。稍后的提交记录了此语法。 r244982r245138

  • 为指定每个目标的交错访问的默认值添加了一个新的 TargetTransformInfo 钩子。 r244449

  • 引入了 llvm.loop.unroll.enable 元数据。如果在编译时知道循环的循环次数,则此元数据将导致循环完全展开;如果不知道循环次数,则将部分展开(与 llvm.loop.unroll.full 不同,如果不知道循环次数,则不会展开循环)。 r244466

  • 引入了对新 Windows 异常处理指令的初步支持。 r244558

  • 令牌类型已添加到 LLVM IR。 r245029

  • BPF 后端获得了文档和指令集描述。 r245105

Clang 提交

  • Clang-format 现在支持 WebKit 大括号样式。 r244446

其他项目提交

  • OpenMP 运行时中的统计信息收集已整理并扩展。 r244677