LLVM 项目博客

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

LLVM 每周 - 第 7 期,2014 年 2 月 17 日

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

与往常一样,如果您最喜欢的邮件列表讨论或提交内容没有被我选入,我表示歉意。如果您认为我错过了什么有趣的东西,请告诉我。在过去的一周中,没有太多外部新闻报道或博客文章(我发现的),但在邮件列表中却非常繁忙,有很多有趣的讨论或 RFC。

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

来自网络的新闻和文章

ELLCC 嵌入式编译器集合现在 提供预编译版本,适用于 ARM、i386、Mips、PowerPC 和 x86-64。方便的是,这些都是静态链接的。ELLCC 的目标是为嵌入式系统提供一个易于使用的多目标交叉编译环境,当然它基于 LLVM 和 clang。

下一届滑铁卢地区 LLVM 社交活动 已定于 2 月 20 日举行

下一届巴黎 LLVM 社交活动 将于 2 月 24 日举行,由 Mozilla 主办。

邮件列表中的内容

LLVM 提交内容

  • AsmPrinter::EmitInlineAsm() 将不再对具有成熟 MC(机器代码)支持的目标使用 EmitRawText() 调用。添加了 MCASMInfo::UseIntegratedAS 字段。如果为真,则集成汇编器将解析内联汇编,即使在发出汇编输出时也是如此。 r201237

  • RTDyld API 了解了如何预先计算模块中所有段所需内存量,并使用 reserveAllocationSpace 预留给定数量的空间。 r201259

  • LTO API 获得了 lto_module_create_from_memory_with_path,这主要用于从链接器发出警告消息。 r201114

  • ScalarEvolution 现在将分析循环的循环次数,其中有一个 switch 保护退出。 r201159

  • Phabricator 上的注释现在包含一个建议,即为以这种方式审查过的提交提供指向 Differential 修订(代码审查)的链接。请这样做! r201160

  • AArch64 后端现在识别 Cortex-A53 和 Cortex-A57。 r201305

  • ARM 集成汇编器获得了对 .arch_extension 指令的部分支持。 r201471

Clang 提交内容

  • Clang 对 Microsoft ABI 兼容性进行了更多更新。Clang 现在理解 Microsoft 的 pointers_to_members 编译指示。 r201105 以及 vtordisp 编译指示 r201274。在其他 MS ABI 开发中,-vm{b,g,s,m,v} 现在也得到支持。 r201175

  • 添加了命令行选项 -fstack-protector-strongr201120。另请参见 r200601 以了解有关 sspstrong 函数属性的信息。

  • 提交了 OpenMP if 子句的前端支持。 r201297

  • 您可以使用 --rtlib=compiler-rt 标志尝试链接到 compiler-rt 而不是 libgcc。 r201307

  • 添加了 -Wignored-pragmas 诊断,它将在编译指示产生副作用但被忽略的情况下发出警告。 r201102

  • 生成每个诊断消息的检查器的名称现在可以通过 getCheckName() 获得。这可以用于启用/禁用特定检查器。 r201186

  • Clang 现在理解 -fbuild-session-timestamp=-fmodules-validate-once-per-build-session 标志,这些标志允许您在构建过程中仅验证模块的源文件一次。 r201224r201225

其他项目提交内容

  • compiler-rt 中的消毒剂项目获得了死锁检测器的雏形。 r201302r201407

  • 原始的 compiler-rt 函数(即作为 libgcc 替代的那些函数)现在位于 lib/builtins 目录中。 r201393

  • 在 lldb 中,用户现在可以指定 trap-handler-names,这是一个应该被视为陷阱处理程序的函数列表。 r201386