X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FnativeGen%2FRegLiveness.hs;h=039a5def31f366d349fb967b23bd46b43e8c86cf;hb=36104d7a0d66df895c8275e3aa7cfe35a322ff04;hp=dce5de4362d25979ee8f0aba54985619347f97a6;hpb=0d80489c9b9f2421f65d8dd86c1e50c6bb429715;p=ghc-hetmet.git diff --git a/compiler/nativeGen/RegLiveness.hs b/compiler/nativeGen/RegLiveness.hs index dce5de4..039a5de 100644 --- a/compiler/nativeGen/RegLiveness.hs +++ b/compiler/nativeGen/RegLiveness.hs @@ -244,14 +244,14 @@ slurpConflicts live , moves) lis --- | For spill/reloads +-- | For spill\/reloads -- -- SPILL v1, slot1 -- ... -- RELOAD slot1, v2 -- -- If we can arrange that v1 and v2 are allocated to the same hreg it's more likely --- the spill/reload instrs can be cleaned and replaced by a nop reg-reg move. +-- the spill\/reload instrs can be cleaned and replaced by a nop reg-reg move. -- -- slurpReloadCoalesce :: LiveCmmTop -> Bag (Reg, Reg) @@ -502,7 +502,7 @@ regLiveness (CmmProc info lbl params (ListGraph blocks@(first : _))) sccBlocks :: [NatBasicBlock] -> [SCC NatBasicBlock] -sccBlocks blocks = stronglyConnComp graph +sccBlocks blocks = stronglyConnCompFromEdgedVertices graph where getOutEdges :: [Instr] -> [BlockId] getOutEdges instrs = foldl' (\a x -> jumpDests x a) [] instrs