【技术实现步骤摘要】
一种消除冗余的内存访问操作的编译优化方法
本专利技术涉及计算机
,一种消除冗余的内存访问操作的编译优化方法。
技术介绍
计算机访存指令将存放在内存中的数据加载到物理寄存器中,它的执行时间往往是一条普通指令的十几至几十倍。编译器在为程序生成二进制代码时,总是尽量产生最少的访存指令,这会减少程序的访存时间,提升程序的执行效率。但随着别名和指针在现代程序语言中的广泛使用,编译器在执行访存优化时,往往缺乏足够的别名信息。为了保证二进制代码的正确性,编译器往往会基于保守的别名分析,产生较多的访存指令,这严重增加了程序的访存时间,降低了程序的性能。
技术实现思路
本专利技术所要解决的技术问题是提出一种消除冗余的内存访问操作的编译优化方法,利用该编译优化方法,可消除冗余的访存指令,减少程序的访存时间,从而提高程序的执行性能。为解决上述技术问题,本专利技术所采取的技术方案是:一种消除冗余的内存访问操作的编译优化方法,该方法用于别名信息不精确且访存采用Load/Store架构的系统中,包括以下步骤:⑴.以基本块为单位对程序进行简单的数据流分析,得到数据访问的使用-定义链;⑵.以基 ...
【技术保护点】
一种消除冗余的内存访问操作的编译优化方法,该方法用于别名信息不精确且访存采用Load/Store架构的系统中,其特征在于包括以下步骤:⑴.以基本块为单位对程序进行简单的数据流分析,得到数据访问的使用‑定义链;⑵.以基本块为单位对指令链进行前向遍历,如果检测到内存加载Load指令,那么访问使用‑定义链找到它的定义指令,如果该指令和当前指令的访存地址具有别名关系,那么进入步骤⑶;如果该指令和当前指令的访存地址具有包含关系,那么进入步骤⑷;如果该指令和当前指令的访存地址相同,那么进入步骤⑸;否则进入步骤⑹; ⑶.记录定义指令为op1,继续访问该指令的前继定义指令op2,根据别名信 ...
【技术特征摘要】
1.一种消除冗余的内存访问操作的编译优化方法,该方法用于别名信息不精确且访存采用Load/Store架构的系统中,其特征在于包括以下步骤:⑴.以基本块为单位对程序进行简单的数据流分析,得到数据访问的使用-定义链;⑵.以基本块为单位对指令链进行前向遍历,如果检测到内存加载Load指令,那么访问使用-定义链找到它的定义指令,如果该指令和当前指令的访存地址具有别名关系,那么进入步骤⑶;如果该指令和当前指令的访存地址具有包含关系,那么进入步骤⑷;如果该指令和当前指令...
【专利技术属性】
技术研发人员:杨磊,王萍,肖东岳,韩峰,胡可,
申请(专利权)人:南阳理工学院,
类型:发明
国别省市:河南;41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。