Filtering search: a new approach to query answering
SIAM Journal on Computing
A linear algorithm for finding dominators in flow graphs and related problems
STOC '85 Proceedings of the seventeenth annual ACM symposium on Theory of computing
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
A framework for determining useful parallelism
ICS '88 Proceedings of the 2nd international conference on Supercomputing
Integrating non-intering versions of programs
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Introduction to algorithms
Compact representations for control dependence
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Dependence flow graphs: an algebraic approach to program dependencies
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Global instruction scheduling for superscalar machines
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dependence-based program analysis
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
ACM Letters on Programming Languages and Systems (LOPLAS)
The program structure tree: computing control regions in linear time
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
A linear time algorithm for placing &phgr;-nodes
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient program analysis using dependence flow graphs
Efficient program analysis using dependence flow graphs
A fast algorithm for finding dominators in a flowgraph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficiently Computing phi-Nodes On-The-Fly (Extended Abstract)
Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing
A framework for generalized control dependence
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Optimal control dependence computation and the Roman chariots problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
Analysis and Testing of Programs with Exception Handling Constructs
IEEE Transactions on Software Engineering
On sparse evaluation representations
Theoretical Computer Science
Algorithms for computing the static single assignment form
Journal of the ACM (JACM)
Efficient liveness computation using merge sets and DJ-graphs
ACM Transactions on Architecture and Code Optimization (TACO) - HIPEAC Papers
Hi-index | 0.00 |
The control dependence relation is used extensively in restructuring compilers. This relation is usually represented using the control dependence graph; unfortunately, the size of this data structure can be quadratic in the size of the program, even for some structured programs. In this paper, we introduce a data structure called the augmented post-dominator tree (APT) which is constructed in space and time proportional to the size of the program, and which can answer control dependence queries in time proportional to the size of the output. Therefore, APT is an optimal representation of control dependence. We also show that using APT, we can compute SSA graphs, as well as sparse dataflow evaluator graphs, in time proportional to the size of the program. Finally, we put APT in perspective by showing that it can be viewed as a factored representation of control dependence graph in which filtered search is used to answer queries.