[发明专利]一种消除冗余的内存访问操作的编译优化方法有效

专利信息
申请号: 201410129958.0 申请日: 2014-04-02
公开(公告)号: CN103942082B 公开(公告)日: 2017-03-29
发明(设计)人: 杨磊;王萍;肖东岳;韩峰;胡可 申请(专利权)人: 南阳理工学院
主分类号: G06F9/45 分类号: G06F9/45
代理公司: 郑州红元帅专利代理事务所(普通合伙)41117 代理人: 秦舜生
地址: 473000*** 国省代码: 河南;41
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种消除冗余的内存访问操作的编译优化方法,用于别名信息不精确且访存采用Load/Store架构的系统中,是基于轻量的数据流分析方法,在代码生成阶段,通过特定的存储‑加载指令序列特点,判断其中的加载指令是否冗余,对于冗余的Load指令,依据前继指令的特点,可以对其进行删除,或转换为代价较小的拷贝指令或者是比特位提取指令。本发明能够消除冗余的访存指令,大大减少程序的访存时间,提高程序性能,同时暴露了更多的程序优化机会,提高了程序性能。
搜索关键词: 一种 消除 冗余 内存 访问 操作 编译 优化 方法
【主权项】:
一种消除冗余的内存访问操作的编译优化方法,该方法用于别名信息不精确且访存采用Load/Store架构的系统中,其特征在于包括以下步骤:⑴.以基本块为单位对程序进行简单的数据流分析,得到数据访问的使用‑定义链;⑵.以基本块为单位对指令链进行前向遍历,如果检测到内存加载Load指令,那么访问使用‑定义链找到它的定义指令,如果该指令和当前指令的访存地址具有别名关系,那么进入步骤⑶;如果该指令和当前指令的访存地址具有包含关系,那么进入步骤⑷;如果该指令和当前指令的访存地址相同,那么进入步骤⑸;如果未检测到内存加载Load指令时,进入步骤⑹;⑶.记录定义指令为op1,继续访问该指令的前继定义指令op2,根据别名信息,分别比较三条指令的基址寄存器、偏移量寄存器内容关系,并将当前的加载指令转换为相应形式的拷贝指令,然后进入步骤⑹;⑷.如果前继定义指令为内存存储Store指令,将加载指令转化为相应的比特提取指令,然后进入步骤⑹;⑸.删除加载指令,并插入拷贝指令,然后进入步骤⑹;⑹.执行步骤⑵,直到程序所有的基本块处理完毕。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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