DocumentCode :
3273899
Title :
Implicit hints: Embedding hint bits in programs without ISA changes
Author :
Vandierendonck, Hans ; De Bosschere, Koen
Author_Institution :
Dept. of Electron. & Inf. Syst., Ghent Univ., Ghent, Belgium
fYear :
2010
fDate :
3-6 Oct. 2010
Firstpage :
364
Lastpage :
369
Abstract :
There is a large gap in knowledge about a program between the compiler, which can afford expensive analysis, and the processor, which by nature is constrained in the types of analysis it can perform. To increase processor performance, ISAs have been extended with hint bits to communicate some of the compiler´s knowledge to the processor. In this paper, we propose and analyze a technique for adding or removing hints to a processor without changing the ISA, i.e. without breaking binary compatibility. Our technique exploits the freedom of allocating values to registers. We divide the registers in disjoint sets and assign one hint value to each set of registers. We implement our technique in the GCC compiler. Evaluation on two very different instruction sets, the Alpha ISA and the x86-64 ISA, shows that these hints can be encoded with high accuracy, although the accuracy varies strongly between instruction sets. We demonstrate that it is possible to encode multiple hints in register names and that the quality of register allocation is not degraded.
Keywords :
program compilers; Alpha ISA; GCC compiler; ISA changes; binary compatibility; hint bits; implicit hints; processor performance; programs; register allocation; x86-64 ISA; Accuracy; Decoding; Encoding; Instruction sets; Radiation detectors; Registers; Resource management;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Computer Design (ICCD), 2010 IEEE International Conference on
Conference_Location :
Amsterdam
ISSN :
1063-6404
Print_ISBN :
978-1-4244-8936-7
Type :
conf
DOI :
10.1109/ICCD.2010.5647699
Filename :
5647699
Link To Document :
بازگشت