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