X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FnativeGen%2FRegAllocStats.hs;h=2c41905811ec76eeb0553d67916303f990a3e2e9;hb=497d3a963f679681db098588bcab00121687c8ed;hp=ca71f9d81779acce2c4e0348add46f505b755f90;hpb=6a347ffc34c0ded44c213e2a0217477f7b8196b9;p=ghc-hetmet.git diff --git a/compiler/nativeGen/RegAllocStats.hs b/compiler/nativeGen/RegAllocStats.hs index ca71f9d..2c41905 100644 --- a/compiler/nativeGen/RegAllocStats.hs +++ b/compiler/nativeGen/RegAllocStats.hs @@ -1,7 +1,7 @@ +{-# OPTIONS -fno-warn-missing-signatures #-} -- Carries interesting info for debugging / profiling of the -- graph coloring register allocator. -- -{-# OPTIONS -fno-warn-missing-signatures #-} module RegAllocStats ( RegAllocStats (..), @@ -58,9 +58,9 @@ data RegAllocStats , raGraphColored :: Color.Graph Reg RegClass Reg -- ^ the coalesced and colored graph , raCoalesced :: UniqFM Reg -- ^ the regs that were coaleced , raPatched :: [LiveCmmTop] -- ^ code with vregs replaced by hregs - , raSpillClean :: [LiveCmmTop] -- ^ code with unneeded spill/reloads cleaned out + , raSpillClean :: [LiveCmmTop] -- ^ code with unneeded spill\/reloads cleaned out , raFinal :: [NatCmmTop] -- ^ final code - , raSRMs :: (Int, Int, Int) } -- ^ spill/reload/reg-reg moves present in this code + , raSRMs :: (Int, Int, Int) } -- ^ spill\/reload\/reg-reg moves present in this code instance Outputable RegAllocStats where @@ -143,7 +143,7 @@ pprStats stats graph in vcat [outSpills, outLife, outConflict, outScatter] --- | Dump a table of how many spill loads / stores were inserted for each vreg. +-- | Dump a table of how many spill loads \/ stores were inserted for each vreg. pprStatsSpills :: [RegAllocStats] -> SDoc @@ -151,7 +151,7 @@ pprStatsSpills stats = let finals = [ s | s@RegAllocStatsColored{} <- stats] - -- sum up how many stores/loads/reg-reg-moves were left in the code + -- sum up how many stores\/loads\/reg-reg-moves were left in the code total = foldl' addSRM (0, 0, 0) $ map raSRMs finals @@ -291,11 +291,10 @@ regColors , (fake3, "#aa00aa") , (fake4, "#ff0055") , (fake5, "#5500ff") ] -#endif -- reg colors for x86_64 -#if x86_64_TARGET_ARCH +#elif x86_64_TARGET_ARCH regDotColor :: Reg -> SDoc regDotColor reg = let Just str = lookupUFM regColors reg @@ -317,16 +316,19 @@ regColors , (r15, "#002080") ] ++ zip (map RealReg [16..31]) (repeat "red") -#endif -- reg colors for ppc -#if powerpc_TARGET_ARCH +#elif powerpc_TARGET_ARCH regDotColor :: Reg -> SDoc regDotColor reg = case regClass reg of RcInteger -> text "blue" RcFloat -> text "red" + RcDouble -> text "green" + +#else +#error ToDo: regDotColor #endif