Affiliation:
1. Dept. of Computer Science, University of Pittsburgh, Pittsburgh, PA
Abstract
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 data-flow 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%.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference34 articles.
1. Type feedback vs. concrete type inference
2. Edge profiling versus path profiling
3. Rastislav Bodik. Path-Sensitive Value-Flow Optimizations. PhD thesis University of Pittsburgh in preparation. Rastislav Bodik. Path-Sensitive Value-Flow Optimizations. PhD thesis University of Pittsburgh in preparation.
4. Path-sensitive value-flow analysis
Cited by
18 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献