- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.与机器有关的代码优化有那些种类,请分别举例说明。
解答:与机器有关的优化有:寄存器优化,多处理优化,特殊的指令优化,无用的指令消除等四类。
冗余指令删除
假设源程序指令序列
a:=b+c; c:=a-d;
编译程序为其生成的代码很可能是下列指令序列:
MOV b, R0
ADD c, R0
MOV R0,a
SUB d, R0
MOV R0,c
假如第四条指令没有标号,上述两个赋值语句在一个基本块内,则第四条指令是多余的,可删除。
特殊指令的使用
例如,如果目标机器指令系统包含增1指令INC,对于i:=i+1的目标代码
MOV i, R0
ADD #1, R0
MOV R0, i
便可被代之以1条指令
Inc i
说明:优化的特点是每个改进可能会引发新的改进机会,为了得到最好的改进,一般可能需要对目标代码重复扫描进行优化。
2.设有语句序列
a:=20
b:=a*(a+10);
c:=a*b;
试写出合并常量后的三元式序列。
解答:该语句序列对应的三元式序列为:
(1) (:=, 20,a)
(2) (+, a, 10)
(3) (*, a, (2) )
(4) (:=, a, b)
(5) (* a, b)
(6) (:=, (5), c)
合并常量后的三元式序列为:
(:=, 20,a)
(:=, 600, b)
(:=, 12000, c)
3、试写出算术表达式
a+b*c-(c*b+a-e)/(b*c+d)
优化后的四元式序列。
解答:该表达式的四元式序列为:
(*,b,c,T1)
(+,a,T1,T2)
(*,c,b,T3)
(+,T3,a,T4)
(-,T4,e,T5)
(*,b,c,T6)
(+,T6,d,T7)
(/,T5,T7,T8)
(-,T2,T8,T9)
可对该表达式进行删除公共子表达式的优化。优化后的四元式序列为:
(*,b,c,T1)
(+,a,T1,T2)
(-,T2,e,T5)
(+,T1,d,T7)
(/,T5,T7,T8)
(-,T2,T8,T9)
4.设有算术表示式
(a*b+c)/(a*b-c)+(c*b+a-d)/(a*b+c)
试给出其优化后的三元式序列。
解答:该算术表达式的三元序列为:
(*,a,b)
(+,(1),c)
(*,a,b)
(-,(3),c)
(/,(2),(4))
(*,c,b)
(+,(6),a)
(-,(7),d)
(*,a,b)
(+,(9),c)
(/,(8),(10))
(+,(5),(11))
可对其进行删除公共子表达式的优化。优化后的三元式列为:
(1)(*,a,b)
(2) (+,(1),c)
(3) (-,(1),c)
(4) (/,(2),(3))
(5) (*, c, b)
(6) (+,(5),a)
(7) (-,(6),d)
(8) (/,(7),(2))
(9) (+,(4),(8))
5.试对以下基本块B1和B2应用DAG进行优化
B1: A:=B*C
D:=B/C
E:=A+D
F:=E*2
G:=B*C
H:=G*G
F:=H*G
L:=F
M:=L
B2: B:=3
D:=A+C
E:=A*C
F:=D+E
G:=B*F
H:=A+C
I:=A*C
J:=H+I
K:=B*5
L:=K+J
M:=L
并就以下两种情况分别写出优化后的四元式序列:
假设G、L、M在基本块后面要被引用;
假设只有L在基本块后面要被引用。
解答:一般应用DAG在一个基本块内可以进行三种优化:合并常量、删除无用赋值以及多余运算。
对于基本块B1,其DAG如图7.1所示。
F , L , M *
E
* +
H * A , G D
* /
B
您可能关注的文档
最近下载
- 浅谈初中物理教学语言严密性.doc VIP
- 高压配电柜日常维护保养方案.docx VIP
- 国考物理化学真题及答案.doc VIP
- 强制氧化-尿素还原法(FO-UR)烟气脱硝成套技术.doc VIP
- 2024年江苏赛区复赛“扬子石化杯”第38届中国化学奥林匹克(初赛)选拔赛暨化学试题含答案.pdf VIP
- 招标代理服务技术方案104页.docx
- 政府采购项目招标代理机构服务投标技术方案(技术标).pptx VIP
- 2025至2030中国建筑信息模型(BIM)行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2024广东建设职业技术学院招聘笔试真题含答案详解.docx VIP
- 公司法中董事对第三人责任的性质界定与归责原则研究.docx VIP
文档评论(0)