问题详情

编译程序对中间代码的优化,根据优化所涉及的程序范围,可分为局部优化、循环优化和全局优化。所谓局部优化是指在(30)范围内做的优化。


A、表达式

B、语句

C、函数

D、基本块

时间:2022-01-11 23:49 关键词:

答案解析

D
解析:局部优化是在基本块范围内进行的优化。所谓基本块是指程序中一个顺序执行的语句(四元式)序列,其中只有一个入口和一个出口。入口就是其中的第1条语句,出口是最后一条语句。对一个给定的程序,把它划分成一系列的基本块,以基本块为结点,构建程序流图。对中间代码优化,首先是在各基本块范围内,分别进行局部优化,然后,进行基于循环的优化和全局优化。一个基本块中的四元式序列,可以先把它表示成一个DAG(有向无环)图,然后,根据DAG图的依赖关系,把这个DAG图重新写成一个基本块的四元式序列。在重建基本块的四元式序列过程中,进行已知量的合并、删除多余运算和删除无用赋值的优化。