diff options
Diffstat (limited to 'compiler/nativeGen')
-rw-r--r-- | compiler/nativeGen/AsmCodeGen.hs | 2 | ||||
-rw-r--r-- | compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs | 4 | ||||
-rw-r--r-- | compiler/nativeGen/RegAlloc/Liveness.hs | 6 |
3 files changed, 6 insertions, 6 deletions
diff --git a/compiler/nativeGen/AsmCodeGen.hs b/compiler/nativeGen/AsmCodeGen.hs index 6bb7f8a875..2bf9e1cc2e 100644 --- a/compiler/nativeGen/AsmCodeGen.hs +++ b/compiler/nativeGen/AsmCodeGen.hs @@ -764,7 +764,7 @@ sccBlocks , BlockId , [BlockId])] -sccBlocks blocks = stronglyConnCompFromEdgedVerticesR (map mkNode blocks) +sccBlocks blocks = stronglyConnCompFromEdgedVerticesUniqR (map mkNode blocks) -- we're only interested in the last instruction of -- the block, and only if it has a single destination. diff --git a/compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs b/compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs index 07ff1ca887..ac38e2b450 100644 --- a/compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs +++ b/compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs @@ -169,7 +169,7 @@ joinToTargets_again -- -- We need to do the R2 -> R3 move before R1 -> R2. -- - let sccs = stronglyConnCompFromEdgedVerticesR graph + let sccs = stronglyConnCompFromEdgedVerticesOrdR graph {- -- debugging pprTrace @@ -313,7 +313,7 @@ handleComponent delta instr instrLoad <- loadR (RegReal dreg) slot remainingFixUps <- mapM (handleComponent delta instr) - (stronglyConnCompFromEdgedVerticesR rest) + (stronglyConnCompFromEdgedVerticesOrdR rest) -- make sure to do all the reloads after all the spills, -- so we don't end up clobbering the source values. diff --git a/compiler/nativeGen/RegAlloc/Liveness.hs b/compiler/nativeGen/RegAlloc/Liveness.hs index ed2ff7bf93..b97246012a 100644 --- a/compiler/nativeGen/RegAlloc/Liveness.hs +++ b/compiler/nativeGen/RegAlloc/Liveness.hs @@ -679,13 +679,13 @@ sccBlocks blocks entries = map (fmap get_node) sccs nodes = [ (block, id, getOutEdges instrs) | block@(BasicBlock id instrs) <- blocks ] - g1 = graphFromEdgedVertices nodes + g1 = graphFromEdgedVerticesUniq nodes reachable :: BlockSet reachable = setFromList [ id | (_,id,_) <- reachablesG g1 roots ] - g2 = graphFromEdgedVertices [ node | node@(_,id,_) <- nodes - , id `setMember` reachable ] + g2 = graphFromEdgedVerticesUniq [ node | node@(_,id,_) <- nodes + , id `setMember` reachable ] sccs = stronglyConnCompG g2 |