Optimal control dependence computation and the Roman chariots problem
- 1 May 1997
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 19 (3) , 462-491
- https://doi.org/10.1145/256167.256217
Abstract
The control dependence relation plays a fundamental role in program restructuring and optimization. The usual representation of this relation is the control dependence graph (CDG), but the size of the CDG can grow quadratically with the input programs, even for structured programs. In this article, we introduce the augmented postdominator tree (APT) , a data structure which can be constructed in space and time proportional to the size of the program and which supports enumeration of a number of useful control dependence sets in time proportional to their size. Therefore, APT provides an optimal representation of control dependence. Specifically, the APT data structure supports enumeration of the set cd(e), which is the set of statements control dependent on control-flow edge e, of the set conds (w), which is the set of edges on which statement w is dependent, and of the set cdequiv ( w ), which is the set of statements having the same control dependences as w . Technically, APT can be viewed as a factored representation of the CDG where queries are processed using an approach known as filtering search.Keywords
This publication has 8 references indexed in Scilit:
- What's in a region?ACM Letters on Programming Languages and Systems, 1993
- Bounded-overhead caching for definite-clause theorem provingJournal of Automated Reasoning, 1993
- Efficiently computing static single assignment form and the control dependence graphACM Transactions on Programming Languages and Systems, 1991
- The program dependence graph and its use in optimizationACM Transactions on Programming Languages and Systems, 1987
- Filtering Search: A New Approach to Query-AnsweringSIAM Journal on Computing, 1986
- Trace Scheduling: A Technique for Global Microcode CompactionIEEE Transactions on Computers, 1981
- A fast algorithm for finding dominators in a flowgraphACM Transactions on Programming Languages and Systems, 1979
- “Memo” Functions and Machine LearningNature, 1968