Results 1 -
7 of
7
On the Computational Complexity of Dynamic Graph Problems
- THEORETICAL COMPUTER SCIENCE
, 1996
"... ..."
Incremental Computation of Dominator Trees
- ACM Trans. Progrm. Languages and Systems
, 1995
"... Data flow analysis based on an incremental approach may require that the dominator tree be correctly maintained at all times [CR88]. Previous solutions to the problem of incrementally maintaining dominator trees were restricted to reducible flowgraphs [RR94, CR88]. In this paper we present a new alg ..."
Abstract
-
Cited by 12 (4 self)
- Add to MetaCart
Data flow analysis based on an incremental approach may require that the dominator tree be correctly maintained at all times [CR88]. Previous solutions to the problem of incrementally maintaining dominator trees were restricted to reducible flowgraphs [RR94, CR88]. In this paper we present a new algorithm for incrementally maintaining the dominator tree of an arbitrary flowgraph, either reducible or irreducible, based on a program representation called the DJ-graph [SG95, SGL94a]. For the case where an edge is inserted, our algorithm is also faster than previous approaches (in the worst case). For the deletion case, our algorithm is likely to run fast on the average cases. 1 Introduction In the past few years, Static Single Assignment (SSA) form [CFR + 89, CFR + 91], Sparse Evaluation Graphs (SEG) [CCF91], and other related intermediate representations have been successfully used for efficient data flow analysis and program transformations [CLZ86, RWZ88, AWZ88, WZ85, WCES94]. Cons...
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...
An efficient incremental algorithm for maintaining dominator trees and its application to $\phi$-nodes Update
, 1994
"... Data flow analysis based on incremental approach may require that the dominator tree be correctly maintained at all times [CR88]. Previous solutions to the problem of incrementally maintaining dominator trees were restricted to reducible flowgraphs [RR94, CR88]. In this paper we present a new algori ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Data flow analysis based on incremental approach may require that the dominator tree be correctly maintained at all times [CR88]. Previous solutions to the problem of incrementally maintaining dominator trees were restricted to reducible flowgraphs [RR94, CR88]. In this paper we present a new algorithm for incrementally maintaining the dominator tree of an arbitrary flowgraph, both reducible and irreducible, based on a program representation called the DJ-Graph [SG94, SGL94]. For the case where an edge is inserted, our algorithm is also faster than previous approaches. For the deletion case, our new incremental algorithm is likely to run fast on the average cases. We also discuss one important application of dominator tree update: incrementally updating OE-nodes of an arbitrary Sparse Evaluation Graph. This application is important in the context of incremental SSA form [CSS94]. i Contents 1 Introduction 1 2 Background and Notation 2 3 Dominator Update: Motivation and Problem Defini...
A Uniform Approach to Semi-Dynamic Problems on Digraphs
- Theoretical Computer Science
, 1998
"... In this paper we propose a uniform approach to deal with incremental problems on digraphs and with decremental problems on dags generalizing a technique used by La Poutr'e and van Leeuwen in [17] for updating the transitive closure and the transitive reduction of a dag. We define a propagation pr ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
In this paper we propose a uniform approach to deal with incremental problems on digraphs and with decremental problems on dags generalizing a technique used by La Poutr'e and van Leeuwen in [17] for updating the transitive closure and the transitive reduction of a dag. We define a propagation property on a binary relationship over the vertices of a digraph as a simple sufficient condition to apply this approach. The proposed technique is suitable for a very simple implementation which does not depend on the particular problem; in other words, the same procedures can be used to deal with different problems by simply setting appropriate boundary conditions.
An Elimination-Based Approach to Incremental Data Flow Analysis
, 1995
"... In this paper we present a new approach for incremental data flow analysis based on elimination methods. Unlike previous elimination-based incremental data flow analysis, our approach can handle arbitrary non-structural and structural changes to program flowgraphs, including irreducibility. We use p ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
In this paper we present a new approach for incremental data flow analysis based on elimination methods. Unlike previous elimination-based incremental data flow analysis, our approach can handle arbitrary non-structural and structural changes to program flowgraphs, including irreducibility. We use properties of dominance frontiers and iterated dominance frontiers for updating data flow solutions. These properties are applicable to both reducible and irreducible flowgraphs. Since we use properties of dominance frontiers (and iterated dominance frontiers) we also give a simple algorithm for updating the dominance frontier relation. The dominance frontier update algorithm is based on our previous work for updating dominator trees. i Contents 1 Introduction 1 2 Exhaustive Elimination Method: An Overview 2 3 Our Approach 5 3.1 Initial and Final Flow Equations : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 3.2 Basic Steps : : : : : : : : : : : : : : : : : : : : : : : : : : : : :...
A Simple Dynamic Algorithm for Maintaining a Dominator Tree
, 1996
"... We present a simple algorithm which maintains the dominator tree for an arbitrary flow graph during a sequence of i edge insertions interspersed with q queries as "does x dominate y?". The complexity of the algorithm is O(q + m minfi; ng), where m and n respectively are the number of edges and nod ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We present a simple algorithm which maintains the dominator tree for an arbitrary flow graph during a sequence of i edge insertions interspersed with q queries as "does x dominate y?". The complexity of the algorithm is O(q + m minfi; ng), where m and n respectively are the number of edges and nodes in the flow graph after the i 0 th edge insertion. This improves the former best results from O(q log n +m i log n) in [12] and O(q n +m i) in [5]. Furthermore, we show that the complexity of our algorithm for a single edge insertion is bounded by those nodes which no longer will be dominated by the same set of nodes. 1 Introduction Dominator trees are used in control flow analysis [1, 6, 7, 8]. Algorithms for finding dominator trees for control flow graphs are given in [9, 10, 11] and the algorithm in [9] is linear. Recently dynamic algorithms [3, 5, 12] 1 have been presented for maintaining dominator trees, but the complexities of these algorithms are worse or just as good as...

