## The Program Structure Tree: Computing Control Regions in Linear Time (1994)

### Cached

### Download Links

- [www.cs.cornell.edu]
- [ftp.cs.cornell.edu]
- [iss.cs.cornell.edu]
- [iss.ices.utexas.edu]
- DBLP

### Other Repositories/Bibliography

Citations: | 62 - 2 self |

### BibTeX

@INPROCEEDINGS{Johnson94theprogram,

author = {Richard Johnson and David Pearson and Keshav Pingali},

title = {The Program Structure Tree: Computing Control Regions in Linear Time},

booktitle = {},

year = {1994},

pages = {171--185},

publisher = {}

}

### Years of Citing Articles

### OpenURL

### Abstract

In this paper, we describe the program structure tree (PST), a hierarchical representation of program structure based on single entry single exit (SESE) regions of the control flow graph. We give a linear-time algorithm for finding SESE regions and for building the PST of arbitrary control flow graphs (including irreducible ones). Next, we establish a connection between SESE regions and control dependence equivalence classes, and show how to use the algorithm to find control regions in linear time. Finally, we discuss some applications of the PST. Many control-flow algorithms, such as construction of Static Single Assignment form, can be speeded up by applying the algorithms in a divide-and-conquer style to each SESE region on its own. The PST is also used to speed up data flow analysis by exploiting `sparsity'. Experimental results from the Perfect Club and SPEC89 benchmarks confirm that the PST approach finds and exploits program structure.