消除错误的依赖关系

发布于 2024-08-26 17:31:21 字数 262 浏览 8 评论 0原文

我有一个关于错误依赖关系的非常普遍的问题。顾名思义,这些 不是真正的依赖关系,可以消除。我知道一种名为寄存器重命名的技术可以在硬件级别消除此类依赖性。当然,在编写避免错误依赖的汇编代码时,我可以在“更高”级别预先消除这些。

但现在我想知道编译器是否也提供支持以保持较低的错误依赖项数量,或者是否更多地依赖硬件来消除它们?

I have a quite general question regarding false dependencies. As the name implies, these
are not real dependencies and can be eliminated. I am aware of the technique called register renaming that eliminates such dependencies at a hardware level. Of course I could eliminate these beforehand at a "higher" level when writing assembler code that avoids false dependencies.

But now I am wondering whether the compiler also provides support to keep the number of false dependencies low, or whether it relies more on the hardware to eliminate them?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

难得心□动 2024-09-02 17:31:21

优化编译器通过使用称为“单一静态赋值”(SSA) 的程序表示来执行类似的操作...

Optimizing compilers do something like this through the use of a program representation called Single Static Assignment (SSA)...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文