-
关于 PHI 转换的冗余加载消除高级主题
在之前的关于 GVN 的文章中,我们介绍了加载消除的一些基础知识。 这篇文章介绍了一些高级主题,并重点介绍了 PHI 转换:它是什么,为什么它很重要,展示了一些它可以做到的好事情,并描述了在 LLVM 中的实现。
阅读更多... -
令人恐惧的两阶段名称查找
C++ 拥有比其应得的更多黑暗、潮湿的角落,尤其是在涉及模板的时候。 最令人烦恼的之一是“两阶段名称查找”,它涉及对模板主体中出现的任何名称进行查找。
阅读更多... -
GVN 过程中加载消除的介绍
GVN 通道 (opt -gvn) 进行的一个非常重要的优化是加载消除。 加载消除涉及多个子系统(包括别名分析、内存依赖分析、SSA 构建、PHI 转换)并且具有多个方面(完全与部分冗余消除、值强制转换、处理 memset/memcpy 等)。
阅读更多... -
“lit” 它
如果你一直在关注 LLVM 和 Clang,你会注意到我们正在使用一个名为 lit 的新测试工具。 Clang 已经迁移到它,而 LLVM 也支持它(DejaGNU 仍然是默认值,但正在逐步淘汰)。
阅读更多... -
欢迎来到 LLVM 博客
欢迎来到全新闪亮的 LLVM 博客。 我们注意到,虽然更广泛的 LLVM 社区活跃而繁荣,但对于那些没有参与黑客的人来说,很难跟踪有趣的进展。
阅读更多...