X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fcmm%2FCmmSpillReload.hs;h=c4525252531d6cd44e9a1b00ca4c61d9b4ae49f9;hb=8a9eb3cd35117c62ac9758d118c6f4109b7330cb;hp=085dc377dbfe4cdd29de8f634fddbfac4da91398;hpb=31a9d04804d9cacda35695c5397590516b964964;p=ghc-hetmet.git diff --git a/compiler/cmm/CmmSpillReload.hs b/compiler/cmm/CmmSpillReload.hs index 085dc37..c452525 100644 --- a/compiler/cmm/CmmSpillReload.hs +++ b/compiler/cmm/CmmSpillReload.hs @@ -18,19 +18,17 @@ import CmmTx import CmmLiveZ import DFMonad import MkZipCfg -import OptimizationFuel import PprCmm() import ZipCfg import ZipCfgCmmRep import ZipDataflow -import Monad +import Control.Monad import Outputable hiding (empty) import qualified Outputable as PP -import Panic import UniqSet -import Maybe +import Data.Maybe import Prelude hiding (zip) -- The point of this module is to insert spills and reloads to @@ -66,7 +64,7 @@ changeRegs f live = live { in_regs = f (in_regs live) } dualLiveLattice :: DataflowLattice DualLive dualLiveLattice = - DataflowLattice "variables live in registers and on stack" empty add False + DataflowLattice "variables live in registers and on stack" empty add True where empty = DualLive emptyRegSet emptyRegSet -- | compute in the Tx monad to track whether anything has changed add new old = do stack <- add1 (on_stack new) (on_stack old)