LLVM 项目博客

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

LLVM 每周 - 第 70 期,2015 年 5 月 4 日

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

本期文章的正式地址为 llvmweekly.org 上的这里

来自网络的新闻和文章

微软宣布他们打算在 Windows 上使用 Clang 前端

Bjarne Stroustrup 最近在 谈论潜在的 C++17 功能

Visual C++ 开发人员将开源他们的 GDB/LLDB 调试引擎

宣布了 Google 暑期代码计划中被接受的 LLVM 项目 已发布。四个学生项目被接受。

下一场湾区 LLVM 社交活动 定于 5 月 7 日星期四下午 7 点举行。如果您参加,请报名。

邮件列表

  • Rui Ueyama 最近在 LLD 上做了很多工作,并提出了一份 LLD 改进计划。在计划中,他提出了一些重大改变,这些改变有望简化 LLD 成为功能完善的 ELF、Mach-O 和 PE-COFF 链接器的路径。两个主要建议是使用“节”而不是“原子”模型,以及不再试图将 Unix 模型弯曲以适应其他平台,而是直接实现必要的本机行为。可以理解的是,有些人担心这种方向会导致 LLD 必须维护本质上三个链接器,但讨论正在进行中,许多反馈似乎是积极的。

  • Alex 将在今年夏天实习于苹果,他发布了一份 关于建议的机器级 IR 文本序列化格式的 RFC。在 Gmane 上,这篇文章有点混乱,因此您可能更愿意阅读 pipermail 渲染。许多反馈都围绕着基于 YAML 格式的优缺点展开。

  • Andrey Bokhanko 建议 使用 libiomp 替换 libgomp 作为使用 -fopenmp 时的默认 OpenMP 运行时库。最终似乎达成了共识,唯一的问题似乎是库命名。

  • Nico Weber 报告说,尽管 -gline-tables-only 使调试信息的大小大大减小,但他们 发现,在 Chromium 中,如果没有函数参数和命名空间,生成的堆栈帧将不太可用。建议添加一个新变体,其中包含函数参数信息和命名空间信息。

LLVM 提交

  • LLVM 性能提示文档增加了另外两项条目。 r235825r235826

  • llvm-symbolizer 现在可在 Windows 上运行。 r235900

  • 已添加对掩码散布和收集的选择 DAG、DAGCombiner 和代码生成支持。 r235970r236211r236394

  • 已向所有常数选择 DAG 节点添加调试位置。 r235989

  • 已从发布脚本中删除 Dragonegg 支持。 r236077

  • 调试信息 IR 结构已从 MD* 重命名为 DI*。Duncan 建议,如果您正在更新树外目标,最简单的办法是首先使代码在进行此提交之前的代码中编译,然后继续合并。 r236120

Clang 提交

  • Clang 现在可以生成 NMake 和 Jom 构建工具接受的依赖项。 r235903

  • 已添加新的 AVX-512 内在函数。 r235986r236218

  • Clang 了解了 -Wpessimizing-move-Wredundant-move 警告。 r236075

其他项目提交

  • LLDB 获得了对 ARM 和 AArch64 上 SysV ABI 的支持。 r236097r236098

  • LLVM 测试套件获得了一个 frame_layout 测试。 r236085