值编号(Value Numbering):编译器优化中的一种技术,用“编号”来表示程序中计算得到的等价值(相同表达式结果),从而识别并消除重复计算(常用于公共子表达式消除、冗余消除)。常见变体包括局部值编号(LVN)与全局值编号(GVN)。
/ˈvæljuː ˈnʌmbərɪŋ/
由 value(值、数值、结果) + numbering(编号、赋号) 组成,字面意思是“给值分配编号”。在编译原理语境中,“值”更偏向“表达式计算结果的抽象代表”,通过编号来追踪等价关系。
Value numbering can remove repeated computations inside a basic block.
值编号可以在一个基本块内消除重复计算。
By applying global value numbering, the optimizer proved that two different-looking expressions produced the same value and replaced one with a reused result.
通过应用全局值编号,优化器证明两个看起来不同的表达式会产生相同的值,并将其中一个替换为复用的结果。