摘要
在开发指令级并行性的编译器中 ,如果代码优化和指令调度各自独立进行 ,将导致代码优化效果的下降甚至产生副作用 .文中针对这一问题 ,提出了代码优化和指令调度集成的思想 .在此思想的基础上 ,介绍了一个适合于代码优化集成的指令调度算法框架 ;并从优化的有效性、是否可逆和优化机会的产生等方面进行了分析 ,选出了适合集成入指令调度的传统优化种类 ;最后给出了这些优化的具体集成方法 .该文提出的方法已经在一个指令级并行编译器上进行了实验 ,实验数据证明 。
In the compilers to exploit instruction-level parallelism, code optimization applied separately with instruction scheduling will not lead to an ideal result or even generate negative effect. The idea of integrating the code optimization and instruction scheduling is put forward. Based on the idea, we first introduce a framework that is suitable for the integration of code optimization and instruction scheduling. Then, to integrate all kinds of proper code optimization into instruction scheduling properly, we analyze all kinds of traditional code optimization carefully. As a result, we picked out the optimization types, which are suitable to be integrated, by considering the aspects of efficiency, reversibility and opportunity of optimization. Finally, the detailed methods to integrate the selected optimization are given. In those methods, we mainly focus on two aspects: the profitability checking and the selection of optimization candidates. All methods in this paper have been implemented in an instruction level parallel compiler. According to the result of experiments, this method can improve the performance of code optimization obviously.
出处
《计算机学报》
EI
CSCD
北大核心
2001年第7期694-701,共8页
Chinese Journal of Computers
基金
国家自然科学基金 (6993 3 0 2 0 )