Abstract

AbstractLoop nesting forests and dominator trees are important tools in program optimization and code generation, and they have applications in other diverse areas. In this work we first present carefully engineered implementations of efficient algorithms for computing a loop nesting forest of a given directed graph, including a very efficient algorithm that computes the forest in a single depth-first search. Then we revisit the problem of computing dominators and present efficient implementations of the algorithms recently proposed by Fraczak et al. [12], which include an algorithm for acyclic graphs and an algorithm that computes both the dominator tree and a loop nesting forest. We also propose a new algorithm than combines the algorithm of Fraczak et al. for acyclic graphs with the algorithm of Lengauer and Tarjan. Finally, we provide fast algorithms for the following related problems: computing bridges and testing 2-edge connectivity, verifying dominators and testing 2-vertex connectivity, and computing a low-high order and two independent spanning trees. We exhibit the efficiency of our algorithms experimentally on large graphs taken from a variety of application areas.KeywordsSpan TreeDominator TreeRadix SortSimple Data StructureStrong BridgeThese keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.