- 3
- 0
- 约6.9千字
- 约 40页
- 2018-02-28 发布于浙江
- 举报
[工学]编译原理第七章 代码优化
第七章 代码优化
7.1 优化概述
1 目的
提高代码质量,产生更高效(时、空)的代码。
2 原则
等价原则
有效原则
合算原则
7.1 优化概述
3 阶段
源代码
前端
中间代码
代码生成
目标代码
中间代码优化
目标代码优化
中间代码优化
7.1 优化概述
4 优化分类
♦ 根据阶段分类
(1)与机器无关的优化
(2)与机器有关的优化
♦ 根据优化涉及的范围分类
(1)局部优化
(2)循环优化
(3)全局优化
局部优化
基本块内的优化
7.1 优化概述
5 优化技术
☆ 删除公共子表达式
☆ 代码外提
☆ 强度削弱
☆ 变换循环控制条件
☆ 合并已知量
☆ 复写传播
☆ 删除无用赋值
删除公共子表达式
合并已知量
删除无用赋值
局部优化
7.1 优化概述
6 本章重点
局部优化
相关技术
四元式序列基本块的划分
基本块的图形表示
基本块的
优化技术
删除公共子表达式
合并已知量
删除无用赋值
删除公共子表达式
在同一个基本块内,计算结果相同的表达式只计算一次,以后重复出现时直接引用结果。
(1) T1=4*i
(2) T2=addr(A)-4
(3) T3=T2[T1]
(4) T4=4*i
(5) T5=addr(B)-4
(6) T6=T5[T4]
…
(1) T1=4*i
(2) T2=addr(A)-4
(3) T3=T2[T1]
(4) T4=T1
(5) T5=addr(B)-4
(6) T6=T5[T4]
…
合并已知量
常数或能确定其值的已知量,在编译时直接计算出来,不等到运行时再计算。
(1) i=1
(2) T1=4*i
(3) T2=addr(A)-4
(4) T3=T2[T1]
(5) T4=T1
(6) T5=addr(B)-4
(7) T6=T5[T4]
…
(1) i=1
(2) T1=4
(3) T2=addr(A)-4
(4) T3=T2[T1]
(5) T4=4
(6) T5=addr(B)-4
(7) T6=T5[T4]
…
删除无用赋值
赋值以后,在程序其他地方不再引用,可以删掉。
(1) i=1
(2) T1=4
(3) T2=addr(A)-4
(4) T3=T2[T1]
(5) T4=4
(6) T5=addr(B)-4
(7) T6=T5[T4]
…
(1) T1=4
(2) T2=addr(A)-4
(3) T3=T2[T1]
(4) T4=4
(5) T5=addr(B)-4
(6) T6=T5[T4]
…
7.2 局部优化
基本块
定义:
基本块是程序中一段顺序执行的语句序列。
只有一个入口语句、一个出口语句。
入口是第一个语句,出口是最后一个语句。
7.2.1 为四元式程序划分基本块
(1)找到入口语句;
(2)找到出口语句;
(3)构造基本块。
♦ 程序的第一条语句
♦ 能由条件转移语句和无条件转移语句到达的语句
♦ 紧跟在条件转移语句后面的语句
♦ 下一入口语句的前导语句
♦ 转移语句本身
♦ 停语句(halt)本身
♦ 删去不属于任何基本块的语句。
例7.2 给以下四元式序列划分基本块,并作出程序流图。
(1) read C
(2) A=0
(3) B=1
(4) L1: A=A+B
(5) if B≥C goto L2
(6) B=B+1
(7) goto L1
(8) L2: write A
(9) halt
(1) read C
(8) L2: write A
(4) L1: A=A+B
(6) B=B+1
(3) B=1
(5) if B≥C goto L2
(7) goto L1
(9) halt
(1) read C
(2) A=0
(3) B=1
(4) L1: A=A+B
(5) if B≥C goto L2
(6) B=B+1
(7) goto L1
(8) L2: write A
(9) halt
程序流图:
Homework:(P165) 7.5
Homework 7.5
把以下程序段划分为基本块,并作出其程序流图。
您可能关注的文档
最近下载
- 广东省2021年专升本考试《政治理论》真题及答案.pdf VIP
- 2026年运输公司年后复工安全培训课件.pptx VIP
- 2025年春人教PEP三年级英语下册教案:Unit 6 Numbers in life.docx VIP
- 驾照考试科目一试题.docx VIP
- 设施农业CAD绘图教程.pptx
- 2025年新疆高考理综真题试卷及答案.docx VIP
- 2026在京全国性宗教团体应届高校毕业生招聘16人备考题库及参考答案详解一套.docx VIP
- 2026在京全国性宗教团体应届高校毕业生招聘16人备考题库含答案详解(完整版).docx VIP
- TCL 滚筒洗衣机TG-V80BA使用说明书.pdf
- 云南省中考:2025年-2023年《语文》考试真题与参考答案.pdf
原创力文档

文档评论(0)