编译器优化技术-局部优化

局部优化:一个基本块(Basic Block)内的优化

1. CSE

common subexpression elimination

当一个新节点M被加入DAG时,检查是否存在N,和M具有相同的运算符和子节点。如果存在,则可以用N替换M。

a = b + c和d = b + c

直接使用a = b + c。如果d输出,则需要d = a;

 

2. 死代码消除

 

3. 代数恒等式的使用

常用来局部强度消减(reduction in strength): 代价较高的,替换为代价较低的。

如:x*2 = x + x

以及常量合并(constant folding),如2 + 2替换为4

 

编译器优化技术-局部优化

上一篇:题解 CF895C Square Subsets


下一篇:4点维度,告诉你如何选择BI工具