X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fcmm%2FCmmLiveZ.hs;h=501d852095fb6dd8b8bec0090c30ff6f7bbd1021;hb=bca74f3e6bde807d688e39e6de28112ebcb4fa49;hp=09ff52166b7a02b33ce02778d71485cfbb850fcb;hpb=09a416591da9ad89e0e6ca85e5093b6eb629a98e;p=ghc-hetmet.git diff --git a/compiler/cmm/CmmLiveZ.hs b/compiler/cmm/CmmLiveZ.hs index 09ff521..501d852 100644 --- a/compiler/cmm/CmmLiveZ.hs +++ b/compiler/cmm/CmmLiveZ.hs @@ -13,7 +13,7 @@ import CmmTx import DFMonad import PprCmm() import PprCmmZ() -import ZipDataflow +import ZipDataflow0 import ZipCfgCmmRep import Maybes @@ -41,7 +41,7 @@ type BlockEntryLiveness = BlockEnv CmmLive ----------------------------------------------------------------------------- cmmLivenessZ :: CmmGraph -> BlockEntryLiveness cmmLivenessZ g = env - where env = runDFA liveLattice $ do { run_b_anal transfer g; allFacts } + where env = runDFA liveLattice $ do { run_b_anal transfer g; getAllFacts } transfer = BComp "liveness analysis" exit last middle first exit = emptyUniqSet first live _ = live @@ -60,6 +60,7 @@ middleLiveness m = middle m middle (MidAssign lhs expr) = gen expr . kill lhs middle (MidStore addr rval) = gen addr . gen rval middle (MidUnsafeCall tgt ress args) = gen tgt . gen args . kill ress + middle (MidAddToContext ra args) = gen ra . gen args middle (CopyIn _ formals _) = kill formals middle (CopyOut _ actuals) = gen actuals