一种针对可变长向量体系结构的数据流分析方法

    公开(公告)号:CN117492836A

    公开(公告)日:2024-02-02

    申请号:CN202311604627.3

    申请日:2023-11-27

    Abstract: 本发明涉及一种针对可变长向量体系结构的数据流分析方法,以到达定值算法为基础,包括以下步骤:根据函数中对向量控制寄存器(VCR)的操作指令标记出所有的可变长向量变量;识别函数中的所有可变长向量变量和标量变量的定值和使用;针对定值信息,为执行到达定值分析准备初始数据,并计算出各基本块的生成定值位向量和保留定值位向量;进行到达‑定值分析,创建定值‑使用链(du链)和使用‑定值链(ud链)。本发明通过解决可变长向量体系结构的数据流分析问题,为寄存器分配提供数据流信息,从而合理分配寄存器资源,减少寄存器压力,降低关键变量的访存开销,提升程序的性能。提高可变长向量体系结构的数据流分析的准确度,避免产生数据不平衡、缺失值处理等问题。

    一种面向向量DSP指令级别代码的循环展开处理方法

    公开(公告)号:CN117539542A

    公开(公告)日:2024-02-09

    申请号:CN202311411423.8

    申请日:2023-10-27

    Abstract: 本发明涉及一种面向向量DSP指令级别代码的循环展开处理方法,包括以下步骤:识别标量向量混合指令序列代码(指令的操作数为符号寄存器)的最内层循环;识别最内层循环的符号寄存器中的归纳变量(包括基本归纳变量和依赖归纳变量);分析循环控制基本块,确保循环合法;计算标量向量混合指令循环的展开因子;根据展开因子对循环的代码进行变换。本发明旨在面向向量DSP通过代码变换进行指令级别循环的展开处理,提供一种充分利用向量DSP寄存器资源的标量向量混合指令循环展开方法,提升向量DSP代码的指令级并行性。

    一种基于函数抽象指令序列的最内层循环全展开方法

    公开(公告)号:CN117234589A

    公开(公告)日:2023-12-15

    申请号:CN202310813074.6

    申请日:2023-07-04

    Abstract: 本发明涉及一种基于函数抽象指令序列的最内层循环全展开方法,包括以下步骤:分析函数中各基本块内指令间的依赖关系;通过变量的活跃性分析来构造DU链和UD链;识别最内层循环的归纳变量;通过UD链找出循环边界常量;根据各寄存器类型对应的归纳变量来计算循环展开因子;进行循环全展开。本发明基于具有多类寄存器资源的体系结构,在最内层循环展开基础上进行循环全展开,并将循环完全线性化。该方法提高了指令执行的并行度,消除原循环中各次循环之间的跳转以及循环判断指令片段,另外还省去了条件判断中的归纳变量在循环展开中的迭代,因此,它在一定程度上减少了指令数目,提升了后续指令调度的自由度。

Patent Agency Ranking