(计算机编译原理)部分冗余消除:一种编译器优化技术,用于消除“在某些控制流路径上已重复、但在另一些路径上未重复”的表达式计算,从而减少不必要的重复运算、提高程序执行效率。(常见缩写:PRE)
/ˈpɑːrʃəl rɪˈdʌndənsi ɪˌlɪməˈneɪʃən/
The compiler applies partial redundancy elimination to speed up the code.
编译器使用部分冗余消除来加速代码。
By using partial redundancy elimination, the optimizer can move computations to earlier points in the control-flow graph so that repeated expressions are computed once without changing the program’s meaning.
通过部分冗余消除,优化器可以把计算移动到控制流图中更早的位置,使重复表达式只计算一次,同时不改变程序语义。
该术语由三部分构成:partial(部分的)+ redundancy(冗余、重复)+ elimination(消除)。它描述的核心思想是:并非在所有路径上都冗余的计算(“部分冗余”),也可以通过适当的代码移动与合并被“消除”。这一概念在编译优化研究中与数据流分析、控制流图(CFG)等方法密切相关。