Integrated Code Generation for Loops

被引:10
作者
Eriksson, Mattias [1 ]
Kessler, Christoph [1 ]
机构
[1] Linkoping Univ, Dept Comp & Informat Sci, SE-58183 Linkoping, Sweden
关键词
Algorithms; Experimentation; Performance; Theory; Code generation; clustered VLIW architectures; modulo scheduling; REGISTER ALLOCATION; SOFTWARE;
D O I
10.1145/2180887.2180896
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Code generation in a compiler is commonly divided into several phases: instruction selection, scheduling, register allocation, spill code generation, and, in the case of clustered architectures, cluster assignment. These phases are interdependent; for instance, a decision in the instruction selection phase affects how an operation can be scheduled We examine the effect of this separation of phases on the quality of the generated code. To study this we have formulated optimal methods for code generation with integer linear programming; first for acyclic code and then we extend this method to modulo scheduling of loops. In our experiments we compare optimal modulo scheduling, where all phases are integrated, to modulo scheduling, where instruction selection and cluster assignment are done in a separate phase. The results show that, for an architecture with two clusters, the integrated method finds a better solution than the nonintegrated method for 27% of the instances.
引用
收藏
页数:24
相关论文
共 51 条
  • [51] [No title captured]