Results 1 -
3 of
3
Identifying loops using DJ graphs
, 1995
"... Loop identification is a necessary step in loop transformations for high-performance architectures. The Tarjan intervals are single-entry, strongly connected subgraphs, so they closely reflect the loop structure of a program [Tar74]. They have been used for loop identification. In this paper we give ..."
Abstract
-
Cited by 26 (0 self)
- Add to MetaCart
Loop identification is a necessary step in loop transformations for high-performance architectures. The Tarjan intervals are single-entry, strongly connected subgraphs, so they closely reflect the loop structure of a program [Tar74]. They have been used for loop identification. In this paper we give a simple algorithm for identifying both reducible and irreducible loops using DJ graphs. Our method can be considered as a generalization of Tarjan's interval-finding algorithm, since we can identify nested intervals (or loops) even in the presence of irreducibility. i Contents 1 Introduction 1 2 Background and Notation 1 3 Reducible and Irreducible Loops 3 4 Our Algorithm 6 5 Conclusion and Related Work 10 List of Figures 1 An example of a flowgraph and its DJ graph : : : : : : : : : : : : : : : : : : : : 2 2 Examples of reducible and irreducible flowgraphs : : : : : : : : : : : : : : : : : : 4 3 An irreducible flowgraph with two irreducible loops : : : : : : : : : : : : : : : : : 6 4 ...
A new framework for exhaustive and incremental data flow analysis using DJ graphs
- ACM SIGPLAN Conf. on PLDI
, 1995
"... In this paper we propose a new framework for elimination-based exhaustive and incremental data flow analysis using DJ graphs. In this paper we give an overview of our framework. The details can be found in our two long reports [SGL95a, SG95a]. These two reports are available from our WWW URL http:/ ..."
Abstract
-
Cited by 10 (0 self)
- Add to MetaCart
In this paper we propose a new framework for elimination-based exhaustive and incremental data flow analysis using DJ graphs. In this paper we give an overview of our framework. The details can be found in our two long reports [SGL95a, SG95a]. These two reports are available from our WWW URL http://www-acaps.cs.mcgill.ca/~sreedhar/pubs.html OR http://www-acaps.cs.mcgill.ca/doc/memos.html i Contents 1 Introduction 1 2 Exhaustive Data Flow Analysis 3 2.1 The Eager Elimination Method : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2.1.1 Correctness of Eager Elimination : : : : : : : : : : : : : : : : : : : : : : : 8 2.2 The Delayed Elimination Method : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 2.3 The Complexity of Our Exhaustive Elimination Methods : : : : : : : : : : : : : 11 3 Handling Irreducibility 13 4 Incremental Data Flow Analysis 13 4.1 Updating the Final Flow Equations: Non-Structural Changes : : : : : : : : : : : 14 4.2 Updating the Final Flow Equa...
Efficient data flow analysis using DJ-graphs: Elimination methods revisited
, 1995
"... In this paper we present a new approach to elimination based data flow analysis that uses a program representation called the DJ Graph. The skeleton of the DJ graph of a program is the dominator tree of its flowgraph (whose edges are called D edges in this paper), and the tree skeleton is augmented ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
In this paper we present a new approach to elimination based data flow analysis that uses a program representation called the DJ Graph. The skeleton of the DJ graph of a program is the dominator tree of its flowgraph (whose edges are called D edges in this paper), and the tree skeleton is augmented with join edges (called J edges in this paper). Unlike the previous elimination methods, which first reduce a flowgraph to a single node, our approach only eliminate J edges from the DJ graph in a bottom-up fashion during the reduction process, while maintainting the dominator tree structure (which may be compressed). We propose two methods for eliminating variables: (1) eager elimination method, and (2) delayed elimination method. With eager elimination, we first perform variable elimination on the DJ-graph in a bottom-up manner. Once we determine the solution for the root node, we propagate this information in a top-down fashion on the dominator tree and determine the corresponding solutio...

