(1) 常量传播
故名思议,在编译优化时,将能够计算出结果的变量直接替换为常量。 如:
void main()
{
int a = 1;
printf("%d",a);
}
编译器在进行编译的时候,将a直接由1代替。
优化后如下:
void main()
{
printf("%d",1);
}
(2)常量折叠
故名思议,在编译优化时,多个变量进行计算时,而且能够直接计算出结果,那么变量将由常量直接替换。如:
void main()
{
int a = 3+1-1*5;
printf("%d",a);
}
优化为:
void main()
{
printf("%d",-1);
}