一种基于分区域优先级的寄存器分配算法
编译器速度和生成代码质量是衡量寄存器分配阶段性能的两个关键因素,现代的即时编译器要求在尽可能短的时间内编译出高质量的代码。传统的基于图着色的算法和线性扫描算法均不能很好地满足这个要求,该文提出一种基于矩阵填充的区域优先级寄存器分配算法,不追求理论上完美的寄存器分配,而采用贪婪式的方法,对程序循环区域进行分割,按区域内生命域的长度和溢出权重两种优先级排序方法进行物理寄存器分配,再扩展到整个程序段。算法在保留线性分配时间的同时产生了高质量的代码,应用于编译 SSA 形式的 PTX 指令到多核平台的过程中,基于该编译平台的实验证明了该文改进算法的有效性。
编译器、寄存器分配、循环区域分割、贪婪法、生命域长度优先级、溢出权重优先级
TP314(计算技术、计算机技术)
国家高技术研究发展计划2009AA012201;国家核高基重大专项2009ZX01036-001-001;河南省重大科技攻关专项092101210501资助课题
2013-12-14(万方平台首次上网日期,不代表论文的发表时间)
共6页
3005-3010