C代码优化
代码优化
代码优化的目标 ■提高最终目标代码的运行效率(性能) 时间:运行的更快 空间:降低内存需求 保持源程序的语义
•代码优化的目标 提高最终目标代码的运行效率(性能) - 时间:运行的更快 - 空间:降低内存需求 • 保持源程序的语义
代码优化的种类 窥孔优化 局部优化一基本块内优化 n全局优化一基本块间优化(过程内) 过程间优化一程序全局优化
•代码优化的种类 窥孔优化 局部优化-基本块内优化 全局优化-基本块间优化(过程内) 过程间优化-程序全局优化
代码优化的种类一窥孔优化 “孔”一未优化的目标代码片段( windows) ■窥孔优化种类: 删除冗余的存、取操作 e.g.movr0,a∥0->a mova,r0∥a->r0,可删除 删除不可达代码
•代码优化的种类-窥孔优化 “孔”-未优化的目标代码片段(windows) 窥孔优化种类: - 删除冗余的存、取操作 e.g. mov r0, a // r0 -> a mov a, r0 // a -> r0, 可删除 - 删除不可达代码
代码优化的种类一窥孔优化 e.g goto L1 goto Li2∥语句前无标号,死代码 L1: L2 控制流优化
•代码优化的种类-窥孔优化 e.g. goto L1 goto L2 // 语句前无标号,死代码 L1: … L2: … - 控制流优化