where
import qualified GraphColor as Color
-import qualified GraphBase as Color
import RegAlloc.Liveness
import RegAlloc.Graph.Spill
import RegAlloc.Graph.SpillClean
{ raGraph = graph
, raGraphColored = graph_colored_lint
, raCoalesced = rmCoalesce
+ , raCodeCoalesced = code_coalesced
, raPatched = code_patched
, raSpillClean = code_spillclean
, raFinal = code_final
<- regSpill code_coalesced slotsFree rsSpill
-- recalculate liveness
- let code_nat = map stripLive code_spilled
- code_relive <- mapM regLiveness code_nat
+-- let code_nat = map stripLive code_spilled
+ code_relive <- mapM regLiveness code_spilled
-- record what happened in this stage for debugging
let stat =
`seq` (seqVirtualRegList (uniqSetToList (Color.nodeCoalesce node)))
seqVirtualReg :: VirtualReg -> ()
-seqVirtualReg reg
- = case reg of
- VirtualRegI _ -> ()
- VirtualRegHi _ -> ()
- VirtualRegF _ -> ()
- VirtualRegD _ -> ()
+seqVirtualReg reg = reg `seq` ()
seqRealReg :: RealReg -> ()
-seqRealReg reg
- = case reg of
- RealRegSingle _ -> ()
- RealRegPair _ _ -> ()
+seqRealReg reg = reg `seq` ()
seqRegClass :: RegClass -> ()
-seqRegClass c
- = case c of
- RcInteger -> ()
- RcFloat -> ()
- RcDouble -> ()
+seqRegClass c = c `seq` ()
seqMaybeRealReg :: Maybe RealReg -> ()
seqMaybeRealReg mr