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中是否默认启用,以及启用的原因。
➡️

继续阅读