当前位置: 首页 > 专利查询>复旦大学专利>正文

一种基于高级中间表示的结构优化方法及系统技术方案

技术编号:4098234 阅读:247 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于程序编译优化技术领域,具体为一种基于高级中间表示的结构优化方法及系统。主要包括:(1)WHIRLSSA的生成,通过遍历WHIRL节点生成SSA信息并将SSA信息标注在WHIRL节点中;(2)PHI节点的插入,将PHI节点插入到WHIRL结构的合适位置;(3)WHIRLSSA的更新与验证,WHIRLSSA更新采用按需更新策略,通过将局部范围的SSA更新合并到一起,实现对整个SSA更新的目的。系统的总体构架包括:WHIRLSSA管理模块、DU/UD管理模块、更新模块、验证模块、生成模块和读写接口。WHILRSSA是一个同时包含了数据流和控制流信息的基于树结构高级中间表示的优化架构。WHIRLSSA优化架构继承了WHIRL和SSA两种中间表示的优点,提高了编译器的优化效果和扩展性。

【技术实现步骤摘要】

本专利技术属于程序编译优化
,具体涉及一种用于程序优化的中间表示和关 联的方法和系统。
技术介绍
中间表示直接决定着编译器的可扩展性和优化效果。从结构上来看,中间表示一 般分为三种(1)结构化的表示,这类中间表示面向图形,如树、有向无环图,通常用于源到 源的程序转换;(2)线性的表示,伪代码的表示形式,依据机器不同的抽象层而变换,通常 采用简单、紧凑的数据结构,易于重构,如SSA ; (3)混合的表示,是对前两种表示的混合,试 图获取两者的优点,如控制流图。中间表示的最佳选择依赖于具体应用,没有统一的标准。 程序分析过程依赖程序的控制流和数据流信息,比如嵌套循环优化和自动并行识别需要识 别循环结构和精确的数据流信息。0pen64编译器定义了一种树结构的中间表示WHIRL。 WHIRL通过高级控制流结构,如IF、WHILE_D0、D0_L00P和GOTO/LABEL语句,显式的表示控 制流信息;数据访问信息通过内存访问语句,如LDID、I LOAD, STID、ISTORE等表示;WHIRL 有结构化表示的优点,但不能显式的表示数据流信息。对于优化中的数据流信息,通常采用 SS本文档来自技高网...

【技术保护点】
一种基于高级中间表示的结构优化方法,其特征在于具体步骤为:(1)WHIRLSSA的生成;(2)PHI节点的插入;(3)WHIRLSSA的更新;(4)WHIRLSSA的验证。

【技术特征摘要】
一种基于高级中间表示的结构优化方法,其特征在于具体步骤为(1)WHIRL SSA的生成;(2)PHI节点的插入;(3)WHIRL SSA的更新;(4)WHIRL SSA的验证。2.根据权利要求1所述的基于高级中间表示的结构优化方法,其特征在于所述WHIRL SSA的生成的步骤为通过SSA生成器通过遍历WHIRL节点生成SSA信息,包含phi节点、 chi节点、mu节点和变量的版本信息;最后将phi节点、chi节点和mu节点插入到WHIRL树 中;正确位置中chi表示变量定义信息,mu表示变量的引用信息;别名的定义一引用信息被 记录在chi和mu节点上;phi、chi和mu节点的版本信息记录在各自的节点内。3.根据权利要求2所述的基于高级中间表示的结构优化方法,其特征在于所述phi节 点的插入是将Phi插入在结构控制流(SCF)和标号的根节点上。4.根据权利要求3所述的基于高级中间表示的结构优化方法,其特征在于所述phi节 点的插入分下述几种情形(1)对于IF结构,将phi节点插入在IF的WHIRL节点上;phi有两个操作数第一个 操作数是THEN块内定义的版本信息,或在IF之前的活跃版本;另一个是ELSE块内定义的 版本,或当ELSE内无版本定义,则为IF之前的活跃版本;phi节点的结果是IF之后活跃版 本;(2)对于WHILE_D0循环结构,phi的第一个操作数为WHILE_D0之前的活跃版本;第二 个操作数为循环体内定义的最后版本;结果为WHILE_D0之后的活跃版本;(3)对于D0_WHILE循环,phi的操作数以及结果与WHILE_D0相同;(4)对于D0_L00P循环,phi的第一个操作数为初始化定义的最后版本,若初始化中无 定义,则为循环前的活跃版本;第二个操作数为循环体和循环计数中定义的最后版本;结 果为循环结构后的活跃版本。5.根据权利要求4所述的基于高级中间表示的结构优化方法,其特征在于所述WHIRL SSA的更新,采用对局部范围的SSA重构方法,然后再和整体进行合并,达到对SSA更新的目 的;DU/UD的数据流信息同样在局部范围内重新计算;对SSA的局部计算,有以下约定1)被转换的区域必须只有一个入口,如果有多个入边,则插入...

【专利技术属性】
技术研发人员:杨克峤李弋臧斌宇
申请(专利权)人:复旦大学
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1