Register Pressure Aware Code Selection Algorithm for Multi-Output Instructions


The KIPS Transactions:PartA, Vol. 19, No. 1, pp. 45-50, Feb. 2012
10.3745/KIPSTA.2012.19.1.45,   PDF Download:

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.


Statistics
Show / Hide Statistics

Statistics (Cumulative Counts from September 1st, 2017)
Multiple requests among the same browser session are counted as one view.
If you mouse over a chart, the values of data points will be shown.


Cite this article
[IEEE Style]
J. H. Youn, Y. H. Paek, K. M. Ko, "Register Pressure Aware Code Selection Algorithm for Multi-Output Instructions," The KIPS Transactions:PartA, vol. 19, no. 1, pp. 45-50, 2012. DOI: 10.3745/KIPSTA.2012.19.1.45.

[ACM Style]
Jong Hee Youn, Yun Heung Paek, and Kwang Man Ko. 2012. Register Pressure Aware Code Selection Algorithm for Multi-Output Instructions. The KIPS Transactions:PartA, 19, 1, (2012), 45-50. DOI: 10.3745/KIPSTA.2012.19.1.45.