| Exploiting idle register classes for fast spill destination |
| Full text |
Pdf
(293 KB)
|
Source
|
International Conference on Supercomputing
archive
Proceedings of the 22nd annual international conference on Supercomputing
table of contents
Island of Kos, Greece
SESSION: Architecture 2
table of contents
Pages 319-326
Year of Publication: 2008
ISBN:978-1-60558-158-3
|
|
Authors
|
|
Fang Lu
|
Institute of Computing Technology, Chinese Academy of Sciences, Beijing, China
|
|
Lei Wang
|
Institute of Computing Technology, Chinese Academy of Sciences, Beijing, China
|
|
Xiaobing Feng
|
Institute of Computing Technology, Chinese Academy of Sciences, Beijing, China
|
|
Zhiyuan Li
|
Purdue University, West Lafayette, IN, USA
|
|
Zhaoqing Zhang
|
Institute of Computing Technology, Chinese Academy of Sciences, Beijing, China
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 4, Downloads (12 Months): 74, Citation Count: 0
|
|
|
ABSTRACT
On today's microprocessors, there often exist several different types of registers, e.g. general purpose registers and floating point registers. A given program may use one type of registers much more frequently than other types. This creates an opportunity to employ the infrequently used registers as spill destinations for the more frequently used register types. In this paper, we present a code optimization method named idle register exploitation (IRE) to exploit such opportunities. We developed a model, called the IRE model, or IREM, to determine the static performance gains of IRE versus spilling to the stack. On a microprocessor with fast data paths between different types of registers, we find that IRE method speeds up the execution of the SPECint benchmark suite from 1.7% to 10%. In contrast, on microprocessors with less efficient data transfer paths, the performance gain is limited. In some cases, performance may even suffer degradation. This result argues strongly for the adoption of fast data paths between different types of registers for the purpose of reducing register spills, which is important in view of the increased significance of memory bottlenecks on future microprocessors.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
 |
2
|
D. Bernstein , M. Golumbic , y. Mansour , R. Pinter , D. Goldin , H. Krawczyk , I. Nahshon, Spill code minimization techniques for optimizing compliers, Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation, p.258-263, June 19-23, 1989, Portland, Oregon, United States
|
 |
3
|
|
 |
4
|
P. Briggs , K. D. Cooper , K. Kennedy , L. Torczon, Coloring heuristics for register allocation, Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation, p.275-284, June 19-23, 1989, Portland, Oregon, United States
|
| |
5
|
|
 |
6
|
|
 |
7
|
S. Subramanya Sastry , Subbarao Palacharla , James E. Smith, Exploiting idle floating-point resources for integer execution, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.118-129, June 17-19, 1998, Montreal, Quebec, Canada
|
 |
8
|
|
| |
9
|
Goebel, Kurt J. (Mountain View, CA, US), Float register spill cache method, system, and computer program product , United States Patent 5901316, http://www.freepatentsonline.com/5901316.html
|
| |
10
|
|
| |
11
|
|
| |
12
|
Intel Corp. IA--32 Intel® Architecture Software Developer's Manual,Volume 1--3
|
| |
13
|
AMD Corp. AMD64 Technology AMD64 Architecture Programmer's Manual,Volume 4--5
|
| |
14
|
AMD Corp. Software Optimization Guide for AMD Athlon" 64 and AMD Opteron" Processors
|
| |
15
|
Intel Corp. Intel® Pentium® 4 Processor Optimization Reference Manual
|
| |
16
|
Weiwu Hu, Fuxin Zhang, Zusong Li, Microarchitecture of the Godson-2 Processor, http://www.loongson.cn/newweb/phpcms/uploadfile/article/uploadfile/200709/20070924095420719.rar
|
| |
17
|
C.Evan Foster III, Harold C.Grossman, An empirical investigation of the Haifa register allocation technique in the GNU C compiler, Southeastcon '92, Proceedings., IEEE 12--15 April 1992, Page(s):776 -- 779 vol.2 Digital Object Identifier 10.1109/SECON.1992.202433.
|
|