Browse > Article
http://dx.doi.org/10.3745/KIPSTA.2012.19A.1.045

Register Pressure Aware Code Selection Algorithm for Multi-Output Instructions  

Youn, Jong-Hee M. (강릉원주대학교 컴퓨터공학과)
Paek, Yun-Heung (서울대학교 전기컴퓨터공학부)
Ko, Kwang-Man (상지대학교 컴퓨터정보공학부)
Abstract
The demand for faster execution time and lower energy consumption has compelled architects of embedded processors to customize it to the needs of their target applications. These processors consequently provide a rich set of specialized instructions in order to enable programmers to access these features. Such an instruction is typically a $multi$-$output$ $instruction$ (MOI), which outputs multiple results parallely in order to exploit inherent underlying hardware parallelism. Earlier study has exhibited that MOIs help to enhance performance in aspect of instruction counts and code size. However the earlier algorithm does not consider the register pressure. So, some selected MOIs introduce register spill/reload code that increases the code size and instruction count. To attack this problem, we introduce a novel iterated instruction selection algorithm based on the register pressure of each selected MOIs. The experimental results show the suggested algorithm achieves 3% code-size reduction and 2.7% speed-up on average.
Keywords
Instruction Selection; Compiler; Multi-output Instruction; ASIP;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Hanno Scharwaechter , Jonghee M. Youn , Rainer Leupers , Yunheung Paek , Gerd Ascheid , Heinrich Meyr, A code-generator generator for multi-output instructions, Proceedings of the 5th IEEE/ACM international conference on Hardware/software codesign and system synthesis, September 30-October 03, 2007, Salzburg, Austria.
2 C. W. Fraser, D. R. Hanson, and T. A. Proebsting. Engineering Efficient Code Generators Using Tree Matching and Dynamic Programming. Technical Report TR-386-92, 1992.
3 S. W. K. Tjiang. An Olive Twig. Technical report, Synopsys Inc., 1993.
4 G. J. Chaitin. Register allocation and spilling via graph coloring. Symposium on Compiler Construction, 17(6):98-105, 1982.
5 Jonghee M. Youn, Jongwon Lee, Yunheung Paek, Jongeun Lee, Hanno Scharwaechter, Rainer Leupers, Fast graph-based instruction selection for multi-output instructions, Software: Practice and Experience Vol.41, Issue6, pp.717-736, May, 2011.   DOI   ScienceOn
6 S. Sakai, M.Togasaki, and K. Yamazaki. A Note on Greedy Algorithms for the Maximum Weighted Independent Set Problem. Discrete Applied Mathematics, 126:313-322, 2003.   DOI   ScienceOn
7 A. V. Aho, M. Ganapathi, and S. W. K. Tjiang. Code Generation Using Tree Pattern Matching and Dynamic Programing. ACM Transactions on Programming Languages and Systems., 11(4):491-516, Oct., 1989.   DOI
8 C. Devine. http://xyssl.org, 2007.
9 C. Fraser and D. Hanson. A Retargetable C Compiler : Design and Implementation. Benjamin/Cummings Publishing Co., 1994.