NCGMonad
PositionIndependentCode
PprMach
- RegAllocColor
+ RegLiveness
RegAllocInfo
+ RegAlloc.Graph.Main
+ RegAlloc.Graph.Stats
+ RegAlloc.Graph.ArchBase
+ RegAlloc.Graph.ArchX86
+ RegAlloc.Graph.Coalesce
+ RegAlloc.Graph.Spill
+ RegAlloc.Graph.SpillClean
+ RegAlloc.Graph.SpillCost
RegAlloc.Linear.Main
RegAlloc.Linear.JoinToTargets
RegAlloc.Linear.State
RegAlloc.Linear.X86.FreeRegs
RegAlloc.Linear.PPC.FreeRegs
RegAlloc.Linear.SPARC.FreeRegs
- RegAllocStats
- RegArchBase
- RegArchX86
- RegCoalesce
- RegLiveness
- RegSpill
- RegSpillClean
- RegSpillCost
if flag(ghci)
Exposed-Modules:
import NCGMonad
import PositionIndependentCode
import RegLiveness
-import RegCoalesce
import qualified RegAlloc.Linear.Main as Linear
-import qualified RegAllocColor as Color
-import qualified RegAllocStats as Color
-import qualified GraphColor as Color
+import qualified GraphColor as Color
+import qualified RegAlloc.Graph.Main as Color
+import qualified RegAlloc.Graph.Stats as Color
+import qualified RegAlloc.Graph.Coalesce as Color
import Cmm
import CmmOpt ( cmmMiniInline, cmmMachOpFold )
-- This code is here because we can test the architecture specific code against it.
--
-module RegArchBase (
+module RegAlloc.Graph.ArchBase (
RegClass(..),
Reg(..),
RegSub(..),
-- See MachRegs.hs for the actual trivColorable function used in GHC.
--
-module RegArchX86 (
+module RegAlloc.Graph.ArchX86 (
classOfReg,
regsOfClass,
regName,
squeese,
) where
-import RegArchBase (Reg(..), RegSub(..), RegClass(..))
+import RegAlloc.Graph.ArchBase (Reg(..), RegSub(..), RegClass(..))
import UniqSet
-- | Register coalescing.
--
-module RegCoalesce (
+module RegAlloc.Graph.Coalesce (
regCoalesce,
slurpJoinMovs
)
-- TODO: The colors in graphviz graphs for x86_64 and ppc could be nicer.
--
-module RegAllocColor (
+module RegAlloc.Graph.Main (
regAlloc,
regDotColor
)
import qualified GraphColor as Color
import RegLiveness
-import RegSpill
-import RegSpillClean
-import RegSpillCost
-import RegAllocStats
--- import RegCoalesce
+import RegAlloc.Graph.Spill
+import RegAlloc.Graph.SpillClean
+import RegAlloc.Graph.SpillCost
+import RegAlloc.Graph.Stats
import MachRegs
import MachInstrs
import PprMach
{-# OPTIONS -fno-warn-missing-signatures #-}
-module RegSpill (
+module RegAlloc.Graph.Spill (
regSpill,
SpillStats(..),
accSpillSL
-- spilling %r1 to a slot makes that slot have the same value as %r1.
--
-module RegSpillClean (
+module RegAlloc.Graph.SpillClean (
cleanSpills
)
where
-module RegSpillCost (
+module RegAlloc.Graph.SpillCost (
SpillCostRecord,
plusSpillCostRecord,
pprSpillCostRecord,
-- graph coloring register allocator.
--
-module RegAllocStats (
+module RegAlloc.Graph.Stats (
RegAllocStats (..),
regDotColor,
import qualified GraphColor as Color
import RegLiveness
import RegAllocInfo
-import RegSpill
-import RegSpillCost
+import RegAlloc.Graph.Spill
+import RegAlloc.Graph.SpillCost
import MachRegs
import MachInstrs
import Cmm
# -----------------------------------------------------------------------------
# RTS ways
-WAYS=$(strip $(GhcLibWays) $(GhcRTSWays))
+WAYS=
+# $(strip $(GhcLibWays) $(GhcRTSWays))
ifneq "$(findstring debug, $(way))" ""
GhcRtsHcOpts=