Abstract
Existing algorithms for computing dominators are formulated for control flow graphs of single procedures. With the rise of computing power, and the viability of whole-program analyses and optimizations, there is a growing need to extend the dominator computation algorithms to context-sensitive interprocedural dominators. Because the transitive reduction of the interprocedural dominator graph is not a tree, as in the intraprocedural case, it is not possible to extend existing algorithms directly. In this article, we propose a new algorithm for computing interprocedural dominators. Although the theoretical complexity of this new algorithm is as high as that of a straightforward iterative solution of the data flow equations, our experimental evaluation demonstrates that the algorithm is practically viable, even for programs consisting of several hundred thousands of basic blocks. © 2007 ACM.
Author supplied keywords
Cite
CITATION STYLE
Sutter, B. D., Van Put, L., & Bosschere, K. D. (2007). A practical interprocedural dominance algorithm. ACM Transactions on Programming Languages and Systems, 29(4). https://doi.org/10.1145/1255450.1255452
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.