–O0
简化控制流图
分配变量到寄存器
进行循环旋转(loop rotation)
删除未使用的代码
简化表达式和语句
内联声明为inline的函数
–O2
执行局部复制/常量传递
删除未使用的赋值语句
删除局部共有表达式
–O3
进行软件流水
进行循环优化
删除全局共有子表达式
删除全局未使用的赋值语句
把循环中的对数组的引用转化为递增的指针形式
循环展开(loop unrolling)
–O4
删除未使用的所有的函数
当函数的返回值没用到时,简化函数的返回形式
内联小的函数
重新对函数的声明进行排序。这样当优化调用代码时,被调用函数的属
当所有调用都传递一个相同的参数时,把这个参数直接放到函数体中
存储器的方式传递这个参数。
识别文件级别变量的特征。