2010-03-25 61 views
1

我对于错误的依赖关系有一个相当普遍的问题。顾名思义,这些 不是真正的依赖关系,可以消除。我知道这种叫做register renaming的技术,它在硬件级别消除了这种依赖关系。当然,在编写避免错误依赖关系的汇编代码时,我可以在“更高”级别预先消除它们。消除错误的依赖关系

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

回答

2

优化编译器通过使用称为单静态分配(SSA)的程序表示形式执行此类操作...