函数getReg的设计

让我们考虑如何针对一个三地址指令I实现函数getReg(I)。实现这个函数可以选择很多种方法,当然也存在一些绝对不可以选择的方法。这些错误方法会因丢失一个或多个活跃变量的值而导致生成错误代码。我们用处理一个运算指令的步骤来开始我们的讨论,还是用x=y+z作为一般性的例子。首先,我们必须为y和z分别选择一个寄存器。这两次选择所面临的问题是相同的,因此我们将集中考虑为y选择寄存器Ry的方法。选择规则如下:

1)如果y当前就在一个寄存器中,则选择一个已经包含了y的寄存器作为Ry。不需要生成一个机器指令来把y加载到这个寄存器。

«1»
最近发表
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
搜索
Tags列表
网站收藏
图标汇集
  • 订阅本站的 RSS 2.0 新闻聚合
友情链接

热门搜索: 外链域名 高外链域名 高收录域名

Copyright www.thyst.cn. Some Rights Reserved.