| M. S. Hecht, J. D. Ullman. A Simple Algorithm for Global Data Flow Analysis Programs, SIAM J. Computing 4 (1975), pp 519 - 532. |
....two objects are edges. We complete this view introducing, for each store variable a special entry node. Instead of sorting the state on lexicographical basis, we can now sort the graph topologically, attempting to construct (and visit) the family of its depth rst spanning trees (DFST) A DFST [15] is a tree rooted at one of the entry nodes, trying to cover the longest paths in the graph possible. In fact, our choice for DFSTs is not a requirement, since any partitioning of the 11 heap graph in a family of spanning trees will be able to give a canonical ordering of the heap objects, under ....
....[13] In the rest of this section we present an algorithm that generates the sorting permutation of a program state. We analyze this algorithm and show that it generates a sorting permutation. The algorithm in Figure 10 is a variant of the depth rst spanning tree construction algorithm from [15]. Let us assume that the function ordered : Stores R returns, for a given store, the V ordered sequence of reference variables that have de ned values in that store. As a convention from now on, for any two locations l i and l j , let l i L l j i i j. That is, locations are indexed ....
M. S. Hecht, J. D. Ullman. A Simple Algorithm for Global Data Flow Analysis Programs, SIAM J. Computing 4 (1975), pp 519 - 532.
....( new flow u ( V ( has meet u i ( w 1 w 2 . w a , u meet V O w 1 ( O w 2 ( O w a ( flow u i ( V ( flow u i ( V ( O u i ( c c copy value O u ( V , solved u i ( true i 1 2 . s , depth first order [6] computed during control flow analysis. The ordering is used because it is easy to compute and it has fast convergence for bit vector problems [6] The procedure iterate refers to the following information about each node : is the flow function of the node , obtained by calling the flow map ....
....u i ( V ( flow u i ( V ( O u i ( c c copy value O u ( V , solved u i ( true i 1 2 . s , depth first order [6] computed during control flow analysis. The ordering is used because it is easy to compute and it has fast convergence for bit vector problems [6]. The procedure iterate refers to the following information about each node : is the flow function of the node , obtained by calling the flow map code provided by the user. and are computed during path simplification. Since this example has no rules, the condition is always false. Thus, for ....
M.S. Hecht and J.D. Ullman. A simple algorithm for global data-flow analysis programs, In SIAM J. Computing. (4):519-532.
....Dominators. Stephen Alstrup y Jens Clausen y Kristian J rgensen y Abstract We present an O(jV j jEj) algorithm for finding immediate multiple vertex dominators in a graph with vertices V and edges E. 1 Introduction. Finding dominators in a graph has been investigated in many papers [6, 7, 8, 9, 10] in connection with global flow analysis and program optimization. Recently Gupta extended the problem to find generalized dominators [4, 5] which can be used for e.g. propagating loop invariant statements out of the loop in cases, where no single vertex dominates the loop exit, but where a union ....
M.S. Hetch and J.D. Ullman. A simple algorithm for global data flow analysis of programs. SIAM J. Comput., 4:519--532, 1975.
....in a program, and variables x i represent program attributes defined on each instruction. The organization of the set of instructions and the order in which the existential search should proceed is unspecified in the preceding code. A number of orderings were proposed over the years (for which see [12, 14, 16, 36] ) until Tarjan [34] found an optimal one. 3. Computational Models We investigate three sequential computational machine models distinguished mainly by the following different fundamental operations used to access data. 1) associative access tests whether an arbitrary value (called a search ....
Hecht, M. and Ullman, J. D., "A simple algorithm for global data flow analysis programs," SIAM J. Computing, vol. 4, pp. 519-532, 1975. -- -- - 13 -
....Dominators. Stephen Alstrup y Jens Clausen y Kristian J rgensen y Abstract We present an O(jV j jEj) algorithm for finding immediate multiple vertex dominators in a graph with vertices V and edges E. 1 Introduction. Finding dominators in a graph has been investigated in many papers [6, 7, 8, 9, 10] in connection with global flow analysis and program optimization. Recently Gupta extended the problem to find generalized dominators [4, 5] which can be use for e.g. propagating loop invariant statements out of the loop in cases, where no single vertex dominates the loop exit, but where a union ....
M.S. Hetch and J.D. Ullman. A simple algorithm for global data flow analysis of programs. SIAM J. Comput., 4:519--532, 1975.
....term the rest DAG edges. Note that the graph restricted to the set of DAG edges is acyclic. Moreover, it can be shown that any cycle free path in F has at most one back edge. Graphs with this property are commonly referred to as being reducible [2] or as having a loop connectedness parameter of 1 [7]. In summary, the key observations are that for any regular expression R there is an NFA whose graph is reducible and whose size, measured in either vertices or edges, is linear in the length of R. For the problem RE(A, R, fffig) the alignment graph for A versus R consists of M 1 copies of F , ....
Hecht, M. S. and Ullman, J. D. "A Simple Algorithm for Global Dataflow Analysis Programs." SIAM J. of Computing 4,4 (1975), 519-532.
....Part C is a flow map function called from control flow analysis to establish the correspondence between flow functions and instructions. Figure 4 shows the iteration procedure that Sharlit uses to solve DFA problems. The procedure takes as its input a list of nodes ordered in the depth first order [6], computed during control flow analysis. The ordering is used because it is easy to compute and it has fast convergence for bit vector problems [6] The iterator uses the following information about the DFA problem: is the flow function of the node . The compiler writer provides this node to ....
....the iteration procedure that Sharlit uses to solve DFA problems. The procedure takes as its input a list of nodes ordered in the depth first order [6] computed during control flow analysis. The ordering is used because it is easy to compute and it has fast convergence for bit vector problems [6]. The iterator uses the following information about the DFA problem: is the flow function of the node . The compiler writer provides this node to flow function mapping. and are computed during path simplification. Since this example has no rules, the condition is always false. Thus, for now, ....
M.S. Hecht and J.D. Ullman. A simple algorithm for global data-flow analysis programs, In SIAM J. Computing. (4):519-532.
....the availability of dominator information. A vertex v in a program control flow graph (CFG) dominates another vertex w, if every path from the beginning of the CFG to vertex w contains v. The problem of computing dominators has been extensively studied and several algorithms have been developed [5, 6, 7, 10, 4]. In previous research only single vertex dominators have been considered. The single vertex dominators prohibit the full exploitation of optimizations. For example, consider the code segment shown in Figure 1(i) This code segment can be optimized by propagating a loop invariant subscript ....
M.S. Hetch and J.D. Ullman, "A Simple Algorithm for Global Data Flow Analysis of Programs," SIAM Journal of Computing, Vol. 4, pages 519-532, 1975.
.... and is due to Alstrup, Clausen and J rgensen (An O(jV j jEj) Algorithm for Finding Immediate Multiple Vertex Dominators, accepted to Information Processing Letters) 1 Introduction Constructing dominator trees for control flow graphs G(V; E; s) has been investigated in many papers (see e.g. [8, 9, 11, 13, 14]) in connection with global flow analysis and program optimization. Recently Gupta [6, 7] extended the problem to finding generalized dominator trees which can be use for e.g. propagating loop invariant statements out of loops in cases, where no single node dominates the loop exit, but where a ....
M.S. Hecht and J.D. Ullman. A simple algorithm for global data flow analysis of programs. SIAM J. Comput., 4:519--532, 1975.
....term the rest DAG edges. Note that the graph restricted to the set of DAG edges is acyclic. Moreover, it can be shown that any cycle free path in F has at most one back edge. Graphs with this property are commonly referred to as being reducible [1] or as having a loop connectedness parameter of 1 [8]. In summary, the key observations are that 1) for any sequence P of size M there is an acyclic NFA containing M 1 states and 2) for any regular expression P of size M there is an NFA whose graph is reducible and whose size, measured in either vertices or edges, is O(M) The matching graphs for ....
Hecht, M. S. and J. D. Ullman "A Simple Algorithm for Global Dataflow Analysis Programs." SIAM J. Computing 4,4 (1975), 519-532.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC