loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
International Symposium on Code Generation and Optimization (CGO'04)
A Compiler Scheme for Reusing Intermediate Computation Results
San Jose, California
March 20-March 24
ISBN: 0-7695-2102-9
Yonghua Ding, Purdue University, West Lafayette, Indiana
Zhiyuan Li, Purdue University, West Lafayette, Indiana
Recent research has shown that programs often exhibit value locality. Such locality occurs when a code segment, although executed repeatedly in the program, takes only a small number of different values as input and, naturally, generates a small number of different outputs. It is potentially beneficial to replace such a code segment by a table which records the computation results for the previous inputs. When the program execution re-enters the code segment with a repeated input, its computation can be simplified to a table look-up. In this paper, we discuss a compiler scheme to identify code segments which are good candidates for computation reuse. We discuss the conditions under which the table look-up costs less than repeating the execution, and we perform profiling to identify candidates which have many repeated inputs at run time. Compared to previous work, this scheme requires no special hardware support and is therefore particularly useful for resource constrained systems such as handheld computing devices. We implement our scheme and its supporting analyses in GCC. We experiment with several multimedia benchmarks and the GNU Go game by executing them on a handheld computing device. The results show the scheme to improve the performance and to reduce the energy consumption quite substantially for these programs.
Citation:
Yonghua Ding, Zhiyuan Li, "A Compiler Scheme for Reusing Intermediate Computation Results," cgo, pp.279, International Symposium on Code Generation and Optimization (CGO'04), 2004
Usage of this product signifies your acceptance of the Terms of Use.