首页 | 官方网站   微博 | 高级检索  
     

栈寄存器分配优化
引用本文:刘旸,张兆庆.栈寄存器分配优化[J].计算机科学,2004,31(3):158-160.
作者姓名:刘旸  张兆庆
作者单位:中科院计算技术研究所系统结构室先进编译组,北京,100080
基金项目:国家自然科学基金(69933020),863项目(2001AA111061),Intel公司的资助
摘    要:寄存器栈在减少程序调用时的内存访问上发挥了重要作用。但是.并非任何时候栈寄存器的使用都是没有代价的.有时栈溢出的代价甚至非常高。为了解决这个问题,本文提出了一种解决自递归函数中大量栈寄存器的使用导致过高栈溢出代价的算法,对寄存器分配中的简化过程进行了改进.并提出了一种减轻寄存器压力的优化方法。本算法在开放源码编译器ORC(Open Research Compiler是IA-64开放源码编译器的名称)上得到了实现。在IA-64上运行的实验结果证明,该算法对于执行频率很高,而且寄存器压力大的自递归函数有很明显的优化效果。

关 键 词:栈式寄存器  启发式算法  寄存器分配算法  优化

Optimization Technology for Stacked Register Allocation
LIU Yang ZHANG Zhao-Qing.Optimization Technology for Stacked Register Allocation[J].Computer Science,2004,31(3):158-160.
Authors:LIU Yang ZHANG Zhao-Qing
Abstract:Stack register plays an important role in reducing memory access at call sites in procedures. But stack registers are not cost free, they have very high cost when overflow happens. In order to solve this problem, this paper proposes an effective algorithm to manage excessive usage of stack registers in self recursive functions, do modification to traditional simplification, and find a optimization method to alleviate register pressure. This algorithm is implemented in ORC2 compiler. Experiments show that this algorithm is very useful in performance improvement of programs having self-recursive function with high execution frequency and great register pressure.
Keywords:Register stack engine  Stack registers  Stack overflow  Spill
本文献已被 CNKI 维普 万方数据 等数据库收录!
点击此处可从《计算机科学》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号