LLVM 项目博客

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

LLVM 每周 - 第 123 期,2016 年 5 月 9 日

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

如果您明天在伦敦,您可能会对 NMI 开源大会 感兴趣。您可以在今天中午之前注册。我将在 lowRISC 上进行简短的演讲。说到会议,如果您对计算机教育中的多样性和包容性感兴趣,您可能想看看 6 月 11 日在曼彻斯特举行的 CAS #include 多样性大会

本期期刊的规范地址 可以在 llvmweekly.org 找到

来自网络的新闻和文章

Fabien Giesen 撰写了一篇简短的文章,解释了 为什么编译器利用未定义的有符号溢出

Google 开源博客有一篇关于 XRay 函数调用跟踪系统简短文章,该系统在上周的 LLVM 邮件列表中被提议用于上游。

邮件列表上的讨论

LLVM 提交

  • LLVM 的 CppBackend 已被删除。正如提交消息所说,这个后端已经腐烂到无法用于其最初目的,并且生成的代码无法编译。 r268631

  • AVR 后端已将大量代码合并到 LLVM 中。 r268722

  • MIPS 后端在重新定位的处理方式上发生了一些重大变化。这些现在使用 MipsMCExpr 而不是 MCSymbolRefExpr 来表示。作为做过很多(树外)LLVM 后端工作的人,我一直觉得有些架构在 include/llvm/MC/MCExpr.h 中有全局可见的枚举成员很奇怪。 r268379

  • LLVM 构建现在应该默认情况下是确定性的,因为 LLVM_ENABLE_TIMESTAMPS 现在是选择加入而不是选择退出。事实上,一个后续补丁完全删除了该选项。 r268441r268670

  • AARch64 后端学习了如何将对堆栈指针的调整组合起来,用于被调用方保存的堆栈内存和局部堆栈内存。 r268746

Clang 提交

  • Clang 现在支持 x86 的 -malign-double。这与 x86-64 上的默认行为一致,在 x86-64 上,i64 和 f64 类型对齐到 8 字节而不是 4 字节。 r268473

  • 循环展开不再完全禁用 -Osr268509

  • Clang 的发行说明(反映当前主干的状态)已更新,以便更多地说明 C++1z 支持的状态。 r268663

其他项目提交

  • libcxx 现在将构建一个 libc++experimental.a 静态库来保存来自实验性 C++ 技术规范(例如文件系统)的符号。此库不提供任何 ABI 兼容性。 r268443r268456

  • libcxx 中所有 pthreads 的使用已重构到 __threading_support 头文件中,目的是简化 libcxx 向不支持 pthreads 的平台的移植。 r268374

  • libcxx 获得了对 多态内存资源 C++ TS 的支持。 r268829