Optimal Control Dependence Computation and the Roman Chariots Problem
No Access Until
Permanent Link(s)
Collections
Other Titles
Author(s)
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 program, even for structured programs. In this paper, 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 cdeq(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 filtered search.