Title :
Exploiting dead value information
Author :
Martin, Milo M. ; Roth, Amir ; Fischer, Charles N.
Author_Institution :
Dept. of Comput. Sci., Wisconsin Univ., Madison, WI, USA
Abstract :
We describe dead value information (DVI) and introduce three new optimizations which exploit it. DVI provides assertions that certain register values are dead, meaning they will not be read before being overwritten. The processor can use DVI to track dead registers and dynamically eliminate unnecessary save and restore instructions from the execution stream at procedure calls and context switches. Our results indicate that dynamic saves and restore instances can be reduced by 46% for procedure calls and by 51% for context switches. In addition, save/restore elimination for procedure calls can improve overall performance by up to 5%. DVI also allows the processor to manage physical registers efficiently, reducing the size requirements of the physical register file. When the system clock rate as proportional to the register file cycle time, this optimization can improve performance. All of these optimizations can be supported with only a few new instructions and minimal additional hardware structures
Keywords :
instruction sets; optimising compilers; parallel programming; remote procedure calls; software performance evaluation; storage management; assertions; context switches; dead registers; dead value information; hardware structures; optimizations; performance; physical register file; procedure calls; register file cycle time; register values; restore instructions; save instructions; system clock rate; Clocks; Communication switching; Hardware; Optimizing compilers; Page description languages; Program processors; Registers; Runtime; Switches; Yarn;
Conference_Titel :
Microarchitecture, 1997. Proceedings., Thirtieth Annual IEEE/ACM International Symposium on
Conference_Location :
Research Triangle Park, NC
Print_ISBN :
0-8186-7977-8
DOI :
10.1109/MICRO.1997.645804