欢迎来到天天文库
浏览记录
ID:51593520
大小:64.50 KB
页数:13页
时间:2020-03-25
《东北大学秦皇岛分校编译原理课件 第11章.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第11章代码优化概述局部优化循环优化全局优化11.1概述代码优化的目的是提高最终代码的运行效率,包括:时间效率——运行速度加快空间效率——占用存储空间减少代码优化的阶段:中间代码的优化目标代码的优化代码优化的本质:等价变换这里的等价是指功能上等价。代码优化的分类依据优化所涉及的程序范围,可将代码优化分为:局部优化:基本块上进行的优化循环优化:循环体内进行的优化全局优化:整个程序范围内进行的优化基本块与局部优化所谓基本块,是指程序中一顺序执行的语句序列,其中只有一个入口和一个出口,入口就是其中第一个语句,出口就是其中最后一个语句。一个给定的程序可以被划分成为一系列的
2、基本块。在各个基本块范围内,分别进行优化。局限于基本块范围内的优化称为局部优化。划分基本块的算法求出四元式程序中各个基本块的入口语句:程序的第一个语句;能由条件转移语句或无条件转移语句所到达的语句;紧跟在条件转移语句后面的语句对以上求出的每一入口语句,构造其所属的基本块:由该入口语句到下一入口语句(不包括该入口语句)、或到一转移语句(包括该转移语句)、或到一停语句(包括该停语句)之间的语句序列组成的。凡未被纳入某一基本块中的语句,都是程序中控制流无法到达的语句,从而也是不会被执行到的语句,可以将其从程序中删除。基本块内可使用的三种优化技术在一个基本块内,通常可实行
3、以下三种优化:合并已知量:针对与程序中某些运算的运算对象;消除多余运算:针对于程序中某些重复不变的运算;消除无用赋值:针对于程序后面运行的无用赋值予以消除。
此文档下载收益归作者所有