X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FnativeGen%2FRegCoalesce.hs;h=e64dc09ebe074cb3bd801ccd508aeea5f19bc838;hb=08652e67c4d5d9a40687f93c286021a867c1bca0;hp=2bcc6eca5645020a3b95f0c6ebd8837665626307;hpb=272f0ba89eca1d9fc700cf4c27b9f8c3e23d6fe8;p=ghc-hetmet.git diff --git a/compiler/nativeGen/RegCoalesce.hs b/compiler/nativeGen/RegCoalesce.hs index 2bcc6ec..e64dc09 100644 --- a/compiler/nativeGen/RegCoalesce.hs +++ b/compiler/nativeGen/RegCoalesce.hs @@ -61,12 +61,12 @@ slurpJoinMovs :: LiveCmmTop -> Bag (Reg, Reg) slurpJoinMovs live = slurpCmm emptyBag live where - slurpCmm rs CmmData{} = rs - slurpCmm rs (CmmProc _ _ _ blocks) = foldl' slurpComp rs blocks - slurpComp rs (BasicBlock _ blocks) = foldl' slurpBlock rs blocks - slurpBlock rs (BasicBlock _ instrs) = foldl' slurpLI rs instrs - - slurpLI rs (Instr _ Nothing) = rs + slurpCmm rs CmmData{} = rs + slurpCmm rs (CmmProc _ _ _ (ListGraph blocks)) = foldl' slurpComp rs blocks + slurpComp rs (BasicBlock _ blocks) = foldl' slurpBlock rs blocks + slurpBlock rs (BasicBlock _ instrs) = foldl' slurpLI rs instrs + + slurpLI rs (Instr _ Nothing) = rs slurpLI rs (Instr instr (Just live)) | Just (r1, r2) <- isRegRegMove instr , elementOfUniqSet r1 $ liveDieRead live