Load-reuse analysis:: Design and evaluation

被引:20
作者
Bodík, R [1 ]
Gupta, R [1 ]
Soffa, ML [1 ]
机构
[1] Univ Pittsburgh, Dept Comp Sci, Pittsburgh, PA 15260 USA
关键词
profile-guided optimizations; register promotion; program representations; data-flow analysis;
D O I
10.1145/301631.301643
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Load-reuse analysis finds instructions that repeatedly access the same memory location. This location can be promoted to a register, eliminating redundant loads by reusing the results of prior memory accesses. This paper develops a load-reuse analysis and designs a method for evaluating its precision. In designing the analysis, we aspire for completeness-the goal of exposing all reuse that can be harvested by a subsequent program transformation. For register promotion, a suitable transformation is partial redundancy elimination (PRE). To approach the ideal goal of PRE-completeness, the load-reuse analysis is phrased as a dataflow problem on a program representation that is path-sensitive, as it detects reuse even when it originates in a different instruction along each control flow path. Furthermore, the analysis is comprehensive, as it treats scalar, array and pointer-based loads uniformly. In evaluating the analysis, we compare it with an ideal analysis. By observing the run-time stream of memory references, we collect all PRE-exploitable reuse and treat it as the ideal analysis performance. To compare the (static) load-reuse analysis with the (dynamic) ideal reuse, we use an estimator algorithm that computes, given a data-flow solution and a program profile, the dynamic amount of reuse detected by the analysis. We developed a family of estimators that differ in how well they bound the profiling error inherent in the edge profile. By bounding the error, the estimators offer a precise and practical method for determining the run-time optimization benefit. Our experiments show that about 55% of loads executed in Spec95 exhibit reuse. Of those, our analysis exposes about 80%.
引用
收藏
页码:64 / 76
页数:13
相关论文
共 39 条
[1]  
AGESEN O, 1995, OOPSLA 95 C P, P91
[2]   Efficient path profiling [J].
Ball, T ;
Larus, JR .
PROCEEDINGS OF THE 29TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE - MICRO-29, 1996, :46-57
[3]  
BALL T, 1998, 25 ACM SIGPLAN SIGAC
[4]  
Bodik R, 1996, INT J PARALLEL PROG, V24, P481
[5]  
Bodík R, 1997, LECT NOTES COMPUT SC, V1301, P361, DOI 10.1145/267896.267921
[6]   Complete removal of redundant expressions [J].
Bodik, R ;
Gupta, R ;
Soffa, ML .
ACM SIGPLAN NOTICES, 1998, 33 (05) :1-14
[7]  
BODIK R, 1998, 25 ACM SIGPLAN SIGAC
[8]  
BODIK R, 1997, P ACM SIGPLAN 97 C P, P146
[9]  
BODIK R, THESIS U PITTSBURGH
[10]  
BODIK R, 1997, P ACM SIGPLAN 97 C P, P159, DOI DOI 10.1145/258915.258930