Abstract
Regions of control dependence identify the instructions in a program that execute under the same control conditions. They have a variety of applications in parallelizing and optimizing compilers. Two vertices in a control-flow graph (which may represent instructions or basic blocks in a program) are in the same region if they have the same set of control dependence predecessors. The common algorithm for computing regions examines each control dependence at least once. As there may be O(V x E) control dependences in the worst case, where V and E are the number of vertices and edges in the control-flow graph, this algorithm has a worst-case running time of O(V x D). We present algorithms for finding regions in reducible control-flow graphs in near-linear time, without using control dependence. These algorithms are based on alternative definitions of regions, which are easier to reason with than the definitions based on control dependence.
- AHO, A., SETHI, R., AND ULLMAN, J. 1986. Compilers: Principles, Techniques and Tools. Addison-Wesley, Reading, MA. Google Scholar
- BERNSTEIN, D., AND RODEH, M. 1991. Global instruction scheduling for superscalar machines. In Proceedings of the ACM SIGPLAN "91 Conference on Programming Language Design and implementation. ACM SIGPLAN Not. 26, 6 (June), 241-255. Google Scholar
- CYTRON, R., FERRANTE, J., AND SARKAR, V. 1989. Experiences using control dependence in PTRAN. In Proceedings of the 2nd Workshop on Languages and Compilers for Parallel Computing (Aug.). Google Scholar
- CYTRON, R., FERRANTE, J., AND SARKAR, V. 1990. Compact representations for control dependence. In Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation. ACM SIGPLAN Not. 25, 6 (June), 337-351. Google Scholar
- FERRANTE, J., OTTENSTEIN, K., AND WARREN, J. 1987. The program dependence graph and its use in optimization. ACM Trans. Program. Lang. Syst. 9, 5 (July), 319-349. Google Scholar
- GUPTA, R. 1992. Generalized dominators and post-dominators. In Conference Record of the 19th ACM Symposium on Principles of Programming Languages. ACM, New York, 246-257. Google Scholar
- HAREL, D. 1985. A linear time algorithm for finding dominators in flow graphs and related problems. In Proceedings of the 17th Annual ACM Symposium on Theory of Computing. ACM, New York, 185-194. Google Scholar
- HORWITZ, S., PRINS, J., AND REPS, T. 1989. Integrating noninterfering versions of programs. ACM Trans. Program. Lang. Syst. 11, 3 (July), 345-387. Google Scholar
- JOHNSON, R., PEARSON, D., AND PINGALI, K. 1993. Finding regions fast: Single exit and control regions in linear time. Tech. Rep. 93-1365, Dept. of Computer Science, Cornell Univ., Ithaca, N.Y. Google Scholar
- PODGURSKI, A. 1991. Forward control dependence, chain equivalence, and their preservation by reordering transformations. Tech. Rep. CES-91-18, Case Western Reserve Univ., Aug.Google Scholar
- SCHWARTZ, J. T. AND SHARIR, M. 1978. Tarjan's fast interval finding algorithm. SETL Newsletter No. 204, Courant Institute of Mathematical Sciences, New York Univ., New York, March 3, 1978.Google Scholar
- TARJAN, R. 1981. Fast algorithms for solving path problems. J. ACM 28, 3, 594-614. Google Scholar
Index Terms
What's in a region?: or computing control dependence regions in near-linear time for reducible control flow
Recommendations
Fully dynamic cycle-equivalence in graphs
SFCS '94: Proceedings of the 35th Annual Symposium on Foundations of Computer ScienceTwo edges e/sub 1/ and e/sub 2/ of an undirected graph are cycle-equivalent iff all cycles that contain e/sub 1/ also contain e/sub 2/, i.e., iff e/sub 1/ and e/sub 2/ are a cut-edge pair. The cycle-equivalence classes of the control-flow graph are used ...
On the control dependence in the program dependence graph
CSC '88: Proceedings of the 1988 ACM sixteenth annual conference on Computer scienceThe program dependence graph, PDG, is used to represent the data and control dependencies between the statements of some program. The data dependencies between the statements are fully understood and they correspond to the definition-use chain. On the ...
A unifying theory of control dependence and its application to arbitrary program structures
There are several similar, but not identical, definitions of control dependence in the literature. These definitions are given in terms of control flow graphs which have had extra restrictions imposed (for example, end-reachability).We define two new ...








Comments