当前位置: 首页 > news >正文

编译原理机测客观题(7)优化和代码生成练习题

第十章优化和代码生成练习题

优化

知识点:

循环优化包括:代码外提、强度削弱、删除归纳变量、循环展开、循环合并

局部优化(基本块内优化):常量传播、常量折叠、公共子表达式消除、代数化简

全局优化(跨基本块优化):全局公共子表达式消除、复制传播、死代码消除、函数内联

一、单项选择题

1、优化可生成( )的目标代码。

A 运行时间较短 B.占用存储空间较小

C运行时间短但占用内存空间大 D.运行时间短且占用存储空间小

2、下列( )优化方法不是针对循优化进行的。

A.强度削弱 B.删除归纳变量 C.删除多余运算 D.代码外提

3、基本块内的优化为( )

A.代码外提,删除归纳变量 B.删除多余运算,删除无用赋值

C.强度削弱,代码外提 D.循环展开,循环合并

4、关于必经结点的二元关系,下列叙述中不正确的是( )

A满足自反性 B满足传递性 C满足反对称性 D满足对称性

5、对一个基本块来说,( )是正确的。

A 只有一个入口语句和一个出口语句

B 有一个入口语句和多个出口语句

C 有多个入口语句和一个出口语句

D有多个入口语句和多个出口语句

6、在程序流图中,我们称具有下述性质( )的结点序列为一个循环。

A它们是非连通的且只有一个入口结点

B它们是强连通的但有多个入口结点

C它们是非连通的但有多个入口结点

D它们是强连通的且只有一个入口结点

7、( )不可能是目标代码。

A汇编指令代码 B可重定位指令代码  C绝对指令代码 D中间代码

8、 经编译得到的目标程序是(   )

A. 机器语言程序或汇编语言程序

B. 四元式序列

C. 三元式序列

D. 二元式序列

9、在目标代码生成阶段,符号表用于(  )

A. 目标代码生成

B. 语义检查

C. 语法检查

D. 地址分配

10所有编译程序都有目标代码生成阶段。(  )

A. 

B. 错

11代码生成器的设计要着重考虑目标代码的质量问题。(  )

A. 

B. 错

12目标代码生成时,无需考虑目标计算机的系统结构。(  )

A. 对

B. 

二、多项选择题

1、根据优化所涉及的范围,可将优化分为

a.局部优化 b.过程优化 c.全局优化

d.循环优化 e.四元式优化

2、下列优化中,属于循环优化的有

a.强度削弱 b.合并已知量 c.删除无用赋值

d.删除归纳变量 e.代码外提

3、如果a→b是程序流图中的一条边,则由这条回边构成的循环由 结点组成。

aa bb c.有通路到达b的结点

d.有通路到达a且该通路上不经过b的结点

e.有通路到达b且该通路上不经过a的结点

4、采用无环有向图(DAG),可以实现的优化有

a.合并已知量 b.删除公共子表达式 c.强度削弱

d.删除无用赋值 e.删除归纳变量

5、编译程序的输出结果可以是

a.目标代码 b.汇编语言代码 c.中间代码

d.优化后的中间代码 e.可重定位代码

三、填空题

1、局部优化是 一个基本块内 范围内进行的一种优化。

2、在一个基本块内,可实行3种优化方法,即合并已知量、删除公共子表达式

删除无用赋值

3、优化就是对程序进行各种 等价 变换,使之能生成更有效的目标代码

4、在优化中,可把循环中的 循环不变量 提到循环外面去,这种方法称为 代码外提

单选[解答]

    1、优化的目的是使目标程序运行时间短、占用存储空间小,故选d。

2、删除多余运算属基本块优化,故选c

3、基本块优化包括:合并已知量、删除无用赋值及删除多余运算,故选b

4、必经结点满足自反性、传递性和反对称性关系,故选d

5、选a

6、选d

7、选d

多选[解答]

1、选acd

2、循环优化包括:代码外提、强度削弱、删除归纳变量、循环展开和循环合并,故选abe

3、如果ab是回边,则该回边的构成的循环由结点ab和能够到达a但通路不经过b的结点组成;故选abd

4、DAG图可进行基本块范围内的优化,故选abd

5、选bcde

、简述常用的优化技术有哪些?

序号

优化技术

1

基本块

   T1:=2

    T2:=10/T1

T3:=S-R

T4:=S+R

A:=T2*T4

B:=A

T5:=S+R

T6:=T5*T3

B:=T6

(1)画出DAG图

(2)重建代码

序号

中间代码

1

(3)假设基本块出口时只有A和B还被引用请写出优化后的三地址代码序列

序号

中间代码

1

(4)假设有两个寄存器R0和R1可用,请给出(3三地址代码生成的目标代码序列,给出寄存器描述和地址描述。

序号

中间代码

目标代码

寄存器描述

地址描述

1

http://www.dtcms.com/a/499880.html

相关文章:

  • CC19-分割回文串-ii
  • 只有网站才需要域名吗怎么用 c文件做网站
  • 怎么让百度搜到自己的网站中国新闻社领导名单
  • 12 pyflink 的一个基础使用, 以及环境相关
  • 把AI“刻”进玻璃:基于飞秒激光量子缺陷的随机数生成器与边缘安全实战
  • 如何查询网站备案进度查询最大的源码分享平台
  • SpringBoot的学习
  • 广东学校网站建设公司织梦可以做婚纱影楼网站吗
  • 40万用户自助建站电脑管理软件排行榜
  • Stack Overflow 简明使用手册
  • Pytorch环境安装指南与建议
  • 力扣hot100做题整理71-80
  • 网站建设寮步成都网站品牌设计
  • 自建免费网站哪个好网站建设了解一下图片
  • Git推送本地仓库到远程
  • 网站接入服务 公司济南网络推广
  • 河南定制网站建设企业做网站的开场白
  • Android 开发 | 如何用命令开启网络调试
  • 微网站 价格手机网站jquery底部导航菜单
  • SSH密钥对:一把锁与一把钥匙的信任游戏
  • 网站广告弹窗代码做中学学中做网站
  • seo网站建设哪家专业网站后台无法上传照片
  • SRDF 文件详解与使用方法
  • 【WRF-CMAQ第一期】模型概述
  • 生产企业网站如何做seo网站一年了百度不收录
  • React 思维模式终极指南
  • 网站开发环境构建手机上可以做网站
  • 江苏住房与城乡建设部网站番禺人才网招聘网官网
  • 高并发内存池项目开发记录 - 02
  • FACT-AUDIT