FIX #1910: fix code generated for GDTOI on x86_32
[ghc-hetmet.git] / compiler / nativeGen / RegCoalesce.hs
index 56ffe4f..e64dc09 100644 (file)
@@ -1,14 +1,6 @@
-
 -- | Register coalescing.
 --
 
-{-# OPTIONS_GHC -w #-}
--- The above warning supression flag is a temporary kludge.
--- While working on this module you are encouraged to remove it and fix
--- any warnings in the module. See
---     http://hackage.haskell.org/trac/ghc/wiki/WorkingConventions#Warnings
--- for details
-
 module RegCoalesce (
        regCoalesce,
        slurpJoinMovs
@@ -69,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 i blocks)     = foldl' slurpBlock rs blocks
-       slurpBlock rs (BasicBlock i 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