Exact Side Eeects for Interprocedural Dependence Analysis
نویسنده
چکیده
Exact side eeects of subroutine calls are essential for exact interprocedural dependence analysis. To summarize the side eeect of multiple array references, a collective representation of all the array elements accessed is needed. So far all existing forms of collective summary of side eeects of multiple array references are approximate. In this paper, we propose an approach for exact in-terprocedural dependence analysis based on the Omega test. In particular, we provide a method of representing the exact image of multiple array references in the form of integer programming projection and a method of back-propagation to form the exact side eeect on the actual array. The representation of the exact side eeect proposed in this paper can be used by the Omega test to support the exact interprocedural dependence analysis in paralleliz-ing compilers or semi-automatic parallelization tools.
منابع مشابه
An Implementation of Interprocedural Bounded Regular Section Analysis
Optimizing compilers should produce eecient code even in the presence of high-level language constructs. However, current programming support systems are signiicantly lacking in their ability to analyze procedure calls. This deeciency complicates parallel programming, because loops with calls can be a signiicant source of parallelism. We describe an implementation of regular section analysis, w...
متن کاملEecient Flow-sensitive Interprocedural Computation of Pointer-induced Aliases and Side Eeects
We present practical approximation methods for computing interprocedural aliases and side eeects for a program written in a language that includes pointers, reference parameters and recursion. We present the following results: 1) An algorithm for ow-sensitive interprocedural alias analysis which is more precise and eecient than the best inter-procedural method known. 2) An extension of traditio...
متن کاملInterprocedural Array Data Flow Analysis for Cache Coherence
The presence of procedures and procedure calls introduces side eeects, which complicate the analysis of stale reference detection in compiler-directed cache coherence schemes 4, 3, 9]. Previous compiler algorithms use the invalidation of an entire cache at procedure boundary 5, 8] or inlining 8] to avoid reference marking interprocedurally. However, frequent cache invalidations will result in p...
متن کاملProgram Analysis for Cache Coherence: Beyond Procedural Boundaries
The presence of procedures and procedure calls introduces side eeects, which complicates the analysis of stale reference detection in compiler-directed cache coherence schemes 6, 4, 8]. Previous compiler algorithms use cache invalidation at procedure boundary 5, 7] or inlining 7] to avoid reference marking interprocedurally. However, frequent cache invalida-tions will result in poor performance...
متن کاملTo Appear in the 1996 International Conference on Parallel Processing
{ The presence of procedures and procedure calls introduces side eeects, which complicates the analysis of stale reference detection in compiler-directed cache coherence schemes 4, 6, 8]. Previous compiler algorithms use cache invalidation at procedure boundary 5, 7] or inlining 7] to avoid reference marking interprocedurally. In this paper, we introduce a full interprocedural algorithm, which ...
متن کامل