[发明专利]一种针对混合长度指令集的寄存器分配方法有效

专利信息
申请号: 201110333460.2 申请日: 2011-10-28
公开(公告)号: CN102360280A 公开(公告)日: 2012-02-22
发明(设计)人: 李莹;闫卫斌;吴朝晖;尹建伟;邓水光;吴健 申请(专利权)人: 浙江大学
主分类号: G06F9/30 分类号: G06F9/30;G06F9/318
代理公司: 杭州裕阳专利事务所(普通合伙) 33221 代理人: 江助菊
地址: 310027 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种针对混合长度指令集的寄存器分配方法,通过对传统的图着色寄存器分配方法上进行少量的修改,即可充分利用混编指令集的特点,生成代码密度更高的代码,具有简单实用,可靠性强的特点。
搜索关键词: 一种 针对 混合 长度 指令 寄存器 分配 方法
【主权项】:
一种针对混合长度指令集的寄存器分配方法,其特征在于,包括如下步骤:1)查找函数中的所有生命周期,通过设置标志位是否置位来判断设该生命期为A类生命期还是B类生命期;2)执行图着色寄存器分配方法的Renumber1、build1、coalesce1、spill cost1、和simplify1五个过程,为所有A类生命期分配lo‑regs寄存器,得到未进行任何溢出操作的冲突图G1;3)计算空闲lo‑regs寄存器数m,如果所述冲突图G1 非空,则空闲lo‑regs寄存器数m为0,如果所述冲突图G1 为空图,则执行图着色寄存器分配方法的select1过程,并根据生成的寄存器分配方案计算空闲的lo‑regs寄存器数m,并记录空闲寄存器信息;4)执行图着色寄存器分配方法的Renumber2、build2、coalesce2、simplify2 、spill code2和select2过程,为B类生命期分配hi‑regs寄存器和m个空闲的lo‑regs寄存器,并根据生成的分配方案计算空闲的hi‑regs寄存器数量n,并记录空闲寄存器信息;5)执行图着色寄存器分配方法的spill code1和select1过程,如果select1过程已经在步骤3)执行则结束所有步骤,如果没有,则重复执行spill code1 、Renumber1、build1、coalesce1、spill cost1、simplify1   过程直到所述冲突图G1 为空,然后执行select1过程为A类生命期生成寄存器分配方案;Renumber1、build1、coalesce1、spill cost1、simplify1  、spill code1 、select1、Renumber2、build2、coalesce2、spill cost2、simplify2 、spill code2和select2过程均为图着色寄存器分配方法的步骤;所述图着色寄存器分配方法包括如下步骤:11)Renumber:在数据流分析的基础上,找到函数中的所有生命期,并为其分配唯一的编号,其中一个生命期从一个变量的一次定值开始,到对该值的最后一次使用结束;12) build:建立冲突图G,所述冲突图G中的结点为生命期,边则表示通过其相连的两个生命期有冲突,不能为它们分配同一个寄存器;13)coalesce:判断是否需要合并生命期,如需要则通过合并生命期删除不必要的复制语句,合并后返回,重新执行步骤12),如不需要合并,则执行步骤14);14)spill cost:计算每个生命期的溢出代价;15)simplify:对所述冲突图G进行简化,反复地检查图G,删除G中度数小于可用寄存器数k的节点,删除的同时将该节点压入栈s;16)spill code:当所述冲突图G中所有节点的度都大于等于k时,需要将溢出代价最小的生命期溢出,即删除其节点,将其压入栈s,并将其标记为溢出,溢出一个生命期之后返回执行步骤11);17)select:当所述冲突图G为空时,将栈s中的生命期弹出,为其分配寄存器,并为标记为溢出的生命期插入溢出代码;所述lo‑regs寄存器为短指令可寻址的寄存器,剩下的为所述hi‑regs寄存器,所述标志位是否置位的标准为:将有A类指令引用的生命期设为置位,将只有B类指令引用的生命期设为不置位;所述A类指令为一条指令最终生成的机器指令是长指令还是短指令取决于其分配到的寄存器;所述B类指令为不论其寄存器操作数分配到哪个寄存器,其必然生成一条长指令,或者必然生成一条短指令。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201110333460.2/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top