LLVM 每周 - 第 12 期,2014 年 3 月 24 日
欢迎来到 LLVM 每周的第 12 期,这是一份每周发布(每周一发布)的通讯,涵盖 LLVM、Clang 和相关项目的进展情况。LLVM 每周由 Alex Bradbury 为您带来。订阅未来的期数请访问 http://llvmweekly.org,并转发给您认为可能感兴趣的任何人。请将任何建议或反馈发送至 [email protected],或在 Twitter 上联系 @llvmweekly 或 @asbradbury。
本期的规范性主页 可以在 llvmweekly.org 找到。
来自网络的新闻和文章
您可能还记得我之前报道过 Philip Reames 和其他人为了支持精确重定位垃圾收集器而对 LLVM 进行的必要更改。他之前 描述了使用 llvm.gcroot 内在函数的问题。正如他所说,他在那篇文章之后又发表了关于 '延迟安全点放置' 的描述,这是 Philip 和他的同事正在努力解决这个问题的方法。他们承诺在接下来的几周内提供更多更新。
musl libc 1.0.0 已经发布。它是一个 MIT 授权的 libc,旨在与 glibc 竞争。“musl 是一个新的通用 C 库实现。它轻量级、快速、简单、免费,并且旨在从标准一致性和安全性方面来说是正确的。”
用于 HiPE Erlang 编译器的 LLVM 后端 已 合并 到 Erlang/OTP 主分支中。
“神秘编程博客”有一篇关于 C++ 模板计算的非终止 的有趣文章,以及关于 GCC 和 Clang 如何处理每个示例的信息。
Meeting C++ 已经写了一篇 关于可能进入 C++14 的事物的列表。
Ceemple 是一款基于 LLVM 的技术计算产品,已发布。它被宣传为在这一领域比 Python 或 MATLAB 提供更多优势。
下一场剑桥 LLVM 社交活动将 在 3 月 26 日晚上 7:30 举行。
在邮件列表上
David Given 正在开发一种架构,该架构使用整数寄存器来存储浮点值,并 寻求建议 如何在 tablegen 中表示它,而不被“无法推断模式中的所有类型”错误阻止。
Renato Golin 启动了另一个关于展开和异常处理以及函数属性的线程。他出色地总结了问题和前进的建议,这意味着我不必懒得建议你直接去阅读这个线程(如果你感兴趣的话)。
Arch Robinson 要求列表 提供关于改进 SLPVectorizer 的建议,以帮助他正在查看的 Julia 代码。Arnold Schwaighofer 的 回复 值得任何对该领域进行黑客攻击的人阅读。
关于基于仪器的分析数据的二进制格式的讨论 继续,有人建议仪器写出的格式不必与编译器读回的格式相同(它可以被其他工具转换)。Justin Bogner 详细阐述了 这些格式的建议要求。
Tim Hill 通过 分享他切换到 Clang 的经历,引发了一场有趣的讨论。优点包括出色的错误提示、静态分析器、兼容性和生成代码的质量。主要缺点是许多编译器选项的文档不足。响应中普遍认为这是一个应该在(希望不会太遥远的)未来解决的问题。
Lang Hames 提议了一个关于在
iterator_range
中添加一个空方法的 RFC。如果你喜欢辩论 API 设计,那就准备好被娱乐吧。
LLVM 提交
添加了基于 MIPS64r2 的 Octeon CPU。 r204337。
ARM 集成汇编器学会了如何处理
.thumb_set
指令。 r204059。添加了汇编指令,以创建用于 iOS 或 Mac OSX 的版本最小加载命令。例如
.ios_version_min 5,2,0
。 r204190。现在可以为内在函数指定“noduplicate”属性。 r204200。
TableGen 后端文档已得到了一些完善。 r204479。
调度注释已添加到 NEON AArch64 指令中。 r204505。
Clang 提交
基于仪器的分析中使用的计数器现在在静态数组中表示。这是更大项目的第一项提交,旨在减少基于仪器的分析的运行时开销(尤其是初始化)。 r204080。基于仪器的分析的其他提交包括 r204186,r204379,r204390。compiler-rt 中有一组匹配的提交。
已删除不推荐使用的
-faddress-sanitizer
、-fthread-sanitizer
和-fcatch-undefined-behavior
标志。用户应该改用-fsanitize=
。 r204330。已提交对解析 OpenMP safelen 子句(用于“omp simd”)的支持。 r204428。