HelloGCC/HelloLLVM/OSDT 近期活动
下周三在北京会有PLCT开放日。
编译社区的八卦信息
看起来龙芯的生态在逐渐好转,来自社区的 @xiangzhai 提供了最近的两个dotnet上的八卦:
一不小心重复造轮子: https://github.com/dotnet/runtime/issues/606#issuecomment-562445090
动态分析误报多: https://github.com/dotnet/runtime/issues/553#issuecomment-564099820
GCC/Binutils-GDB/glibc
GLIBC
国产的x86处理器,兆芯,开始upstream底层库的支持了!主要是CPU Vendor ID等标识。
https://sourceware.org/ml/libc-alpha/2019-12/msg00244.html
Stefan Liebler采用GCC builtin改写部分数学库
[PATCH v2 00/18] Use GCC builtins for some math functions if desired.
https://sourceware.org/ml/libc-alpha/2019-12/msg00258.html
Aleksa Sarai 持续推动新增opennat2系统调用,第18版了
[PATCH v18 00/13] open: introduce openat2(2) syscall
https://sourceware.org/ml/libc-alpha/2019-12/msg00211.html
GCC
GCC开发仍然在stage3,没有大的feature修改,各组件积极修复测试中暴露出的问题。
Thomas Schwinge提议将coding style每行列数的限制从80列放宽到132列,社区激烈讨论
https://gcc.gnu.org/ml/gcc/2019-12/msg00064.html
David Malcolm主导的GCC静态分析框架可以在线尝鲜了。
https://gcc.gnu.org/ml/gcc/2019-12/msg00152.html
GCC内部重构,多线程编译更加友好的提议,from Nicholas Krause
https://gcc.gnu.org/ml/gcc/2019-12/msg00125.html
Nicholas同时提问GCC对C++ 11支持的feature完整性,有不少回复值得一看:
https://gcc.gnu.org/ml/gcc/2019-12/msg00128.html
关于新的ipa优化遍的讨论继续在Jan Hubicka和Martin Liška之间进行:
https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00701.html
Richard Sandiford发出第二版的combiner pass
https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00287.html
PowerPC: 关于libmvec(向量化的libm实现)对sincos的支持
https://gcc.gnu.org/ml/gcc/2019-12/msg00101.html
Binutils
H.J.Lu发出v4版本i386: Optimize for Jump Conditional Code Erratum
https://sourceware.org/ml/binutils/2019-12/msg00138.html
Alan Modra修复一系列corner case
https://sourceware.org/ml/binutils/2019-12/authors.html
GDB
Tom Tromey发出删除val_print的大patch set,Tom对GDB的重构做出了很大的贡献。
[PATCH 00/55] Remove val_print
https://sourceware.org/ml/gdb-patches/2019-12/msg00275.html
Andrew Burgess修复GDB调试不完整ELF的问题。
Fix bug when debugging a corrupted ELF
https://sourceware.org/ml/gdb-patches/2019-12/msg00252.html
Weimin Pan发出gdb对CTF的格式的支持
https://sourceware.org/ml/gdb-patches/2019-12/msg00215.html
LLVM/Clang/LLDB/LLD
风雨无阻,LLVM Weeky 更新到了第310期。
(以下感谢 Alex Bradbury
Kristof Beyls 在张罗 EuroLLVM 2020: seeking program comittee volunteers
Gábor Horváth wrote an RFC proposing function annotations as a next step in the effort to implement Herb Sutter's lifetime analysis. The proposed annotations would give information about the lifetime of function return values or output arguments. (这部分还是看英文地道点,翻译有点别扭)
(以下感谢 @MaskRay
围绕 Jump Conditional Code Erratum 的代码更新还在继续。看起来相当的热烈(不过小编1号看不懂),
Philip Reames 对 D70157 (划掉)不满意(/划掉), 又弄了 D71238 (MaskRay借着这个机会,搭伙儿吐嘈 MCCodePadder 没用,趁机删掉了 MCCodePadder D71106 ..)(小编1号:这波操作666)
在 D71238 中, D71238#1777747 的评论比较有份量:
All results are very preliminary - this is all from a single machine with a subset of our workloads.
Applying microcode without mitigation hurts. Geomean impacts aren't too terrible (5-10%), but some individual workloads suffer badly.
此外, Chandler Carruth 还想看到 clang/firefox/chromium 的 size 影响。目前可能还没有数据。
D71094 目前是被 MaskRay reject 但是依然 landed 的状态。 另一位新加入的 reviewer 也提出了不少的 comments。 看起来现在在社区想要提交代码英语都要很熟练 :-)
小编1号的感觉是似乎LLVM目前依然是允许部分 reviewer accept 就可以 land,目前为止依然是比较随意的, 完全靠自己名声。 这点似乎是 Mozilla 在引入 pha 的时候进行了改进,不知道是否可以参考下。
RISC-V in China
国内没啥新消息,国外 RISC-V Summit 正在开。等待有RV社区的小伙伴带回来一手报道。
https://tmt.knect365.com/risc-v-summit/agenda/1/
TVM 社区:发版啦!
好消息!摘录如下:
Hi all,
The Apache TVM (incubating) community is happy to announce Apache TVM (incubating) version 0.6.0!
...
0.6.0 is a major release incorporating important features including high-level Relay IR, Relay Virtual Machine, training support, quantization, TSim, MicroTVM, Rust support, etc. It also contains a count of operator support and performance improvement.
参考地址:
https://github.com/apache/incubator-tvm/releases/tag/v0.6.0
The Release Tag:
https://github.com/apache/incubator-tvm/tree/v0.6.0
TVM 相关的资源:
- Our discussion forum (https://discuss.tvm.ai/)
- TVM dev mailing list (https://lists.apache.org/list.html?dev@tvm.apache.org)
- TVM website (https://tvm.apache.org/)
- Github issues (https://github.com/apache/incubator-tvm/issues)
Best regards, Apache TVM (incubating) Team
Mozilla
风平浪静。
方舟开源编译器社区
风平浪静。
本周工具链岗位
我们,软件所PLCT实验室,长期招募编译开发实习生(C++/Java)。实习生的主要工作职责是参与PLCT在 GCC/LLVM、QEMU、 TVM、 方舟开源编译器及 Toy Runtime 开发。要求 C++/Java 编程能力由掌握或者熟练,
必要条件是在校学生,目前还不接受已经工作的朋友的兼职。具备良好的沟通和团队合作意识,熟练 Linux Bash Scripting 和 Git 常用操作。要求有基本的操作系统(OS)和编译原理的知识,IDE开发实习生要求掌握Eclipse插件开发的基本知识。可以坐班(LV3+)也可以远程(LV4+)。
PLCT隶属于中国科学院软件研究所,智能软件研究中心。我们的优势是提供一个专业氛围浓厚的学习环境,有资深工程师带。我们的劣势是穷,基本上没什么实习工资,电脑要自己带,没有什么技术长进之外的福利。
请感兴趣的同学联系邢老师 mingjie@iscas.ac.cn。
本周推荐阅读
本周推荐:《教育问题探津》 刘道玉 著
(小编1号提供)
我在人生的各个不同的阶段,都会时不时的思考教育相关的问题。当我在中学的时候,我疑惑一个班级这么多人,很多人没有认真听走神了怎么办,有更好的办法么?是否在同学之间的相互辅导中有更好的教学方式(我有尝试过在数学、物理等科辅导过同班的学生,但是并不能够抽象出来一个统一的知识框架来指导我们的讨论)?在大学的时候,我时不时会想,为什么我体验的中国的大学跟电视电影里的欧美的大学差异这么大?现在,我自己也讲课、培养学生和徒弟(新人),我更加频繁的在琢磨:我要怎么做才能用更少的时间,让学生掌握更多的知识,收到更多的启发;进一步的,能够覆盖到更多的学生?
很高兴能够在万圣书店扫到这本刘道玉先生的《教育问题探津》,让我过去几十年来想过的大多数教育相关的问题,得到了一位实践者的回答。刘道玉先生从事教育工作有60余年了,认认真真地进行着中国教育的改革和实践。通过阅读这本书,让我对于自己接下来要面临的各类挑战有了更加明确的认识,也更加乐观了一点点。
顺带,对于已经有了孩子的父母,这本书非常需要现在就入手。理由有二:第一,这本书不仅介绍了大学教育,也介绍了如何从0岁开始就对儿童进行启蒙教育;第二,即使刚出生的孩子,也只有不到7000天就要高考了(笑)。