【技术实现步骤摘要】
计算程序中数据依赖关系的方法及计算机可读存储介质
[0001]本公开一般地涉及计算机领域。更具体地,本公开涉及计算程序中数据依赖关系的方法及计算机可读存储介质。
技术介绍
[0002]精确的数据流分析是让编译优化能高效进行的基础,静态单赋值(static single assignment,SSA)形式就是一种高效的数据流分析技术,目前几乎可以应用于所有的现代编译器。静态单赋值形式是一种中介码(intermediate representation,IR),每个变量仅被赋值一次,使得其使用定值链(use-define chain)非常明确,能帮助简化编译器的算法。
[0003]当一个内存区间可能会由多条指令来定值时,现有技术难以分析指令之间的数据依赖关系,使得编译过程无法有效简化,导致运算资源的浪费,因此一种新的方法来分析内存之间的数据依赖关系是迫切需要的。
技术实现思路
[0004]为了至少部分地解决
技术介绍
中提到的技术问题,本公开的方案提供了一种计算程序中数据依赖关系的方法及计算机可读存储介质。
[0005]在一个方面中,本公开揭露一种计算程序中数据依赖关系的方法,所述方法包括:将所述程序建构成静态单赋值形式的控制流图,所述控制流图包括多个节点;设定所述多个节点的内存描述符的初始信息,所述初始信息为直接支配节点的所有内存描述符的定值信息及kill集信息;以及基于所述控制流图进行迭代,每次迭代执行下列步骤:遍历所述多个节点,计算并更新每个节点的内存描述符的定值信息及kill集信息,并 ...
【技术保护点】
【技术特征摘要】
1.一种计算程序中数据依赖关系的方法,所述方法包括:将所述程序建构成静态单赋值形式的控制流图,所述控制流图包括多个节点;设定所述多个节点的内存描述符的初始信息,所述初始信息为直接支配节点的所有内存描述符的定值信息及kill集信息;以及基于所述控制流图进行迭代,每次迭代执行下列步骤:遍历所述多个节点,计算并更新每个节点的内存描述符的定值信息及kill集信息,并更新指令的数据依赖关系;其中,所述指令的数据依赖关系用于指令编译优化时的参考信息。2.根据权利要求1所述的方法,其中所述迭代步骤是以逆后序数据流方式进行。3.根据权利要求1所述的方法,其中在所述计算步骤中,先计算并更新指令的使用的内存描述符,再计算并更新指令的定值的内存描述符。4.根据权利要求3所述的方法,其中对于所述指令的使用,所述计算步骤还包括:判断是否存在必须精确使用内存描述符;如存在,判断所述必须精确使用内存描述符的定值信息是否存在;如所述定值信息存在,设定所述必须精确使用内存描述符的定值信息为所述使用的定值信息。5.根据权利要求4所述的方法,其中如所述定值信息存在,所述计算步骤还包括:判断所述必须精确使用内存描述符的kill集信息是否为空;以及如不为空,判断所述可能使用内存描述符的定值信息是否存在;如所述可能使用内存描述符的定值信息存在,判断所述必须使用内存描述符的定值信息与所述可能使用内存描述符的定值信息的交集区间是否被kill掉;如未被kill掉,设定所述可能使用内存描述符的定值信息和所述必须使用内存描述符的定值信息为所述指令的使用的定值信息。6.根据权利要求4所述的方法,其中如所述定值信息存在,所述计算步骤还包括:判断所述必须精确使用内存描述符的kill集信息是否为空;以及如不为空,判断所述可能使用内存描述符的定值信息是否存在;如所述可能使用内存描述符的定值信息存在,设定所述可能使用内存描述符的定值信息和所述必须使用内存描述符的定值信息为所述指令的使用的定值信息。7.根据权利要求4所述的方法,其中如所述定值信息不存在,所述计算步骤还包括:识别所有存在定值信息的可能使用内存描述符;判断所述必须精确使用内存描述符的定值信息与所述可能使用内存描述符的定值信息的交集区间是否被kill掉;以及如未被kill掉,设定所述可能使用内存描述符的定值信息和所述必须使用内存描述符的定值信息为使用指令的定值信息为所述指令的使用的定值信息。8.根据权利要求4所述的方法,其中如所述定值信息不存在,所述计算步骤还包括:识别所有存在定值信息的可能使用内存描述符;以及设定所述可能使用内存描述符的定值信息为所述指令的使用的定值信息。9.根据权利要求4所述的方法,其中如不存在必须精确使用内存描述符,所述计算步骤还包括:
设定必须使用内存描述符及可能使用内存描述符的定值信息为所述指令的使用的定值信息。10.根据权利要求4所述的方法,其中所述计算步骤还包括:判断所述指令的使用是否存在必须使用内存描述符;以及如不存在必须使用内存描述符,设定可能使用内存描述符的定值信息为所述指令的使用的定值信息。11.根据权利要求3所述的方法,其中对于所述指令的定值,所述计算步骤包括:建立所述指令的定值中的必须定值内存描述符的定值信息;识别所述指令的定值中的必须定值内存描述符的可能定值内存描述符;以及将所述指令中的必须定值内存描述符的定值信息置入所述可能...
【专利技术属性】
技术研发人员:ꢀ七四专利代理机构,
申请(专利权)人:中科寒武纪科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。