编译原理-优化

编译原理 优化章

优化

  • 任务
    • 对前面产生的中间代码进行加工变换,以期在最后阶段能产生更为高效的目标代码。
      • 原则:等价变换
      • 主要关注:公共子表达式的提取、合并已知量、删除无用语句、循环优化等。
        • 循环优化:将循环内的语句优化为必需语句

优化举例

image-20241111170905973

上图左边是C语句,右边为for循环的拆解,根据右边语句生成中间代码

image-20241111170844192

中间代码如上,优化结果如下

image-20241111171147194

优化结果中可以看到,乘法消失了

如果循环中只有示例中的代码的话,可以使用加法一次性计算代替循环计算(+1到100变为+5050,依旧等价)

Dan❤Anan
Built with Hugo
主题 StackJimmy 设计