A Question About Rust LLVM IR: What is noalias? Is noalias enabled by default in Rust now?
💡
原文英文,约300词,阅读约需1分钟。
📝
内容提要
在研究tokio源代码时,发现使用PhantomPinned是为了避免Rust编译器生成noalias属性,虽然noalias可以提升LLVM优化,但存在不稳定性。作者对其作用及Rust的默认启用情况有疑问,希望找到更多学习资源。
🎯
关键要点
- 在tokio源代码中,使用PhantomPinned是为了避免Rust编译器生成noalias属性。
- noalias属性可以提升LLVM优化,但存在不稳定性。
- 作者对PhantomPinned的作用及Rust的默认启用情况有疑问。
- tokio避免生成noalias是因为该特性在2021年不稳定,防止编译期问题。
- 作者希望找到更多关于noalias的学习资源。
- 目前不清楚noalias在Rust中是否默认启用,以及启用的原因。
🏷️
标签
➡️