【技术实现步骤摘要】
公开总体上涉及编译器技术。更具体地,在此公开的主题涉及对用于识别计算机程序中的动态单次使用生成定义(dynamic single-use producing definition)的方法和设备的改进。
技术介绍
1、用命令式编程语言编写的计算机程序的执行涉及将数据存储到程序变量中,并且稍后引用这些变量。在机器代码级别也是如此,其中,程序已被编译为与处理器的指令集架构(isa)对应的指令。通常,将每个指令的结果定义(存储)到寄存器中,并且稍后将定义的值用作进一步计算中的操作数。现代处理器可利用被定义为在执行期间仅使用一次的值的知识来提高运行时性能并降低功耗。为了在这方面进行优化,编译器应当识别和标记这些“使用一次”(或“单次使用”)定义以实现这样的硬件改进。该“使用一次”限定是动态的,在某种意义上它是按指令被提取和执行的次序的执行时间表征。这与静态指定(staticdesignation)相反,静态指定表示当程序被存储在存储器中时定义和使用的相对位置。
2、当定义和定义的单次使用二者在同一基本块(指令的直线序列)内时,该问题被
...【技术保护点】
1.一种用于识别程序中的动态单次使用生成定义的方法,包括:
2.如权利要求1所述的方法,其中,构造SSA形式的步骤包括:在定义和使用的支配边界处插入函数,并且通过经由根据控制流图形成的支配树的前序遍历对SSA版本进行赋值来对定义和使用进行重命名。
3.如权利要求1所述的方法,其中,SSU形式被构造在SSA形式之上,并且
4.如权利要求1所述的方法,还包括:
5.如权利要求4所述的方法,还包括:对于SSU形式中的不具有定义的第一SSU版本和作为具有一个或多个⊥操作数的函数λ的右手侧的第二SSU版本,将单次使用不合格数组中的
...【技术特征摘要】
1.一种用于识别程序中的动态单次使用生成定义的方法,包括:
2.如权利要求1所述的方法,其中,构造ssa形式的步骤包括:在定义和使用的支配边界处插入函数,并且通过经由根据控制流图形成的支配树的前序遍历对ssa版本进行赋值来对定义和使用进行重命名。
3.如权利要求1所述的方法,其中,ssu形式被构造在ssa形式之上,并且
4.如权利要求1所述的方法,还包括:
5.如权利要求4所述的方法,还包括:对于ssu形式中的不具有定义的第一ssu版本和作为具有一个或多个⊥操作数的函数λ的右手侧的第二ssu版本,将单次使用不合格数组中的与第一ssu版本和第二ssu版本对应的条目设置为真。
6.如权利要求1所述的方法,其中,传播单次使用不合格属性的步骤包括:通过遍历ssu图并基于在控制流分叉的点处插入的运算符更新单次使用不合格数组来传播ssu形式中的单次使用不合格属性,并且
7.如权利要求1所述的方法,其中,所述方法针对所述程序中的变量被迭代地执行,并且识别所述程序中的定义中的每个是否是动态单次使用。
8.一种用于识别程序中的动态单次使用生成定义的设备,包括:
9.如权利要求8所述的设备,其中,构造ssa形式的步骤包括:在定义和使用的支配边界处插入函数,并且通过经由根据控制流图形成的支配树的前序遍历对ssa版本进行赋值来对定义和使用进行重命名。
10.如权利要求8所述的设备,其中,ssu形式被构造在ssu形式之上,并且
11.如权利要求8所述的设备,其中,存储器还存储另外的指令,所述另外的指令在由处理器执行时还使得所述设备:
12.如权利要求11所述的设备,其中,所述存储器还存储另外的指令,当所述...
【专利技术属性】
技术研发人员:弗雷德里克·C·周,蒂莫西·孔,
申请(专利权)人:三星电子株式会社,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。