diff options
author | Max Bolingbroke <batterseapower@hotmail.com> | 2008-07-31 01:23:48 +0000 |
---|---|---|
committer | Max Bolingbroke <batterseapower@hotmail.com> | 2008-07-31 01:23:48 +0000 |
commit | 0b57caeac7840ef903a54ddd3196f3d573ca8cc4 (patch) | |
tree | ce95c850d6e84f3bdb13d2c6944bb78ac2384225 /compiler/simplCore | |
parent | c2def8304ba7c48c4a3e652a63f136ebcd453674 (diff) | |
download | haskell-0b57caeac7840ef903a54ddd3196f3d573ca8cc4.tar.gz |
Follow Digraph changes in OccurAnal
Diffstat (limited to 'compiler/simplCore')
-rw-r--r-- | compiler/simplCore/OccurAnal.lhs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/simplCore/OccurAnal.lhs b/compiler/simplCore/OccurAnal.lhs index 8a7b40a6df..2b2c058194 100644 --- a/compiler/simplCore/OccurAnal.lhs +++ b/compiler/simplCore/OccurAnal.lhs @@ -28,7 +28,7 @@ import VarSet import VarEnv import Maybes ( orElse ) -import Digraph ( stronglyConnCompR, SCC(..) ) +import Digraph ( SCC(..), stronglyConnCompFromEdgedVerticesR ) import PrelNames ( buildIdKey, foldrIdKey, runSTRepIdKey, augmentIdKey ) import Unique ( Unique ) import UniqFM ( keysUFM, intersectUFM_C, foldUFM_Directly ) @@ -290,7 +290,7 @@ occAnalBind env (Rec pairs) body_usage bndr_set = mkVarSet (map fst pairs) sccs :: [SCC (Node Details)] - sccs = {-# SCC "occAnalBind.scc" #-} stronglyConnCompR rec_edges + sccs = {-# SCC "occAnalBind.scc" #-} stronglyConnCompFromEdgedVerticesR rec_edges rec_edges :: [Node Details] rec_edges = {-# SCC "occAnalBind.assoc" #-} map make_node pairs @@ -365,7 +365,7 @@ occAnalRec (CyclicSCC nodes) (body_usage, binds) ---------------------------- -- Now reconstruct the cycle pairs | no_rules = reOrderCycle tagged_nodes - | otherwise = concatMap reOrderRec (stronglyConnCompR loop_breaker_edges) + | otherwise = concatMap reOrderRec (stronglyConnCompFromEdgedVerticesR loop_breaker_edges) -- See Note [Choosing loop breakers] for looop_breaker_edges loop_breaker_edges = map mk_node tagged_nodes @@ -474,7 +474,7 @@ reOrderCycle [bind] -- Common case of simple self-recursion reOrderCycle (bind : binds) = -- Choose a loop breaker, mark it no-inline, -- do SCC analysis on the rest, and recursively sort them out - concatMap reOrderRec (stronglyConnCompR unchosen) ++ + concatMap reOrderRec (stronglyConnCompFromEdgedVerticesR unchosen) ++ [(makeLoopBreaker False bndr, rhs)] where |