LLVM 项目博客

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

LLVM 每周 - 第 45 期,2014 年 11 月 10 日

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

本期简报的正式地址可以在 llvmweekly.org 上找到

来自网络的新闻和文章

Adrian Sampson 在他的 Quala 项目状态更新 中描述了在 Clang/LLVM 中为 C 和 C++ 添加自定义类型注解。

Bruce Mitchener 在 Dylan 博客中发布了关于 Dylan 如何与 LLVM 集成 的文章。有趣的是,Dylan 没有链接到 LLVM 库,而是直接生成 bitcode 文件。

Numba 项目发布了 llvmlite,它是一个轻量级的 Python 到 LLVM 的绑定,用于编写 JIT 编译器。该项目基于使用旧的 llvmpy 绑定的经验开发。

Obfuscator-LLVM 已更新,可与 LLVM 3.5 协同工作

邮件列表中的讨论

LLVM 提交

  • PBQP 寄存器分配器的溢出成本和合并效益已进行调整。这似乎在 EEMBC 和 SPEC 等基准测试中带来了百分之几的改进。 r221292r221293

  • 新的 SymbolRewriter 传递是一个 IR 到 IR 的转换,允许在编译期间调整符号。它旨在用于消毒剂和性能分析工具中的符号插桩。 r221548

  • Hexagon 获得了基本的 ELF 对象发射器。 r221465

  • llvm-vtabledump 增加了对 Itanium ABI 的支持。 r221133

  • LLVM 的 CMake 构建系统获得了 LLVM_BUILD_STATIC 选项。 r221345

  • 对 Inputs/ 用于额外测试文件的用法进行了文档化。 r221406

  • MIPS 后端在支持 N32/N64 ABI 方面取得了里程碑。此提交修复了此 ABI 的所有已知错误,并且 ABITest.py 生成的前 10000 个测试都通过了。 r221534

Clang 提交

  • clang-format 增强了格式化 Java 代码的功能。 r221104r221109 等。

  • 添加了对 C++1z 嵌套命名空间定义、u8 字符字面量以及命名空间或枚举上的属性的支持。 r221574r221576r221580

其他项目提交

  • LLD 学会了如何解析大多数链接器脚本。在过于兴奋之前,请注意,这仅仅是解析,语义操作将在未来实现。 r221126

  • 通用的 Sanitizer 代码获得了一个通用的栈帧渲染器。这允许用户控制栈帧输出的格式。 r221409r221469

  • 在 LLDB 中添加了 Windows 上实时调试的基本框架。它将检测 DLL 加载、卸载等更改,但这些更改需要通过 LLDB 正确传播。 r221207

  • lldb-gdbserver 现在支持 Android 目标。 r221570