What s In a Region? Or Computing Control Dependence Regions In Near-Linear Time for Reducible Control Flow THOMAS BALL Madison University of Wisconsin, 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 maybe O(V X E) control dependence 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 for finding regions in reducible control-flow running time of O(V x E). We present algorithms 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. Engineering]: Categories and Subject Descriptors: D.2.2 [Software Languages]: Processors compilers; optimization D.3.4 [Programming General Additional Terms: Algorithms, Languages Control dependence, control-flow Tools and Techniques; Key Words
/lp/association-for-computing-machinery/what-s-in-a-region-or-computing-control-dependence-regions-in-near-jfVZTUg01D