HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Moduleghc-9.10.3GHC2021

GHC.CmmToAsm.CFG.Dominators

The Lengauer-Tarjan graph dominators algorithm.

1 Lengauer, Tarjan, A Fast Algorithm for Finding Dominators in a Flowgraph, 1979.

2 Muchnick, Advanced Compiler Design and Implementation, 1997.

3 Brisk, Sarrafzadeh, Interference CGraphs for Procedures in Static Single Information Form are Interval CGraphs, 2007.

  • Strictness

Unless stated otherwise all exposed functions might fully evaluate their input but are not guaranteed to do so.

  • 5 types
  • 16 values
  • Packageghc-9.10.3
  • Exports21
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceDominators.hs
valueidom :: Rooted -> [(Node, Node)]
#

Immediate dominators. O(|E|*alpha(|E|,|V|)), where alpha(m,n) is "a functional inverse of Ackermann's function".

This Complexity bound assumes O(1) indexing. Since we're using IntMap, it has an additional lg |V| factor somewhere in there. I'm not sure where.