summaryrefslogtreecommitdiff
path: root/compiler/cmm/CmmLiveZ.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/cmm/CmmLiveZ.hs')
-rw-r--r--compiler/cmm/CmmLiveZ.hs14
1 files changed, 6 insertions, 8 deletions
diff --git a/compiler/cmm/CmmLiveZ.hs b/compiler/cmm/CmmLiveZ.hs
index 4dc0874eb7..b239ae3711 100644
--- a/compiler/cmm/CmmLiveZ.hs
+++ b/compiler/cmm/CmmLiveZ.hs
@@ -63,15 +63,13 @@ middleLiveness m = middle m
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
lastLiveness :: Last -> (BlockId -> CmmLive) -> CmmLive
lastLiveness l env = last l
- where last (LastReturn) = emptyUniqSet
- last (LastJump e) = gen e $ emptyUniqSet
- last (LastBranch id) = env id
- last (LastCall tgt (Just k)) = gen tgt $ env k
- last (LastCall tgt Nothing) = gen tgt $ emptyUniqSet
- last (LastCondBranch e t f) = gen e $ unionUniqSets (env t) (env f)
+ where last (LastReturn _) = emptyUniqSet
+ last (LastJump e _) = gen e $ emptyUniqSet
+ last (LastBranch id) = env id
+ last (LastCall tgt (Just k) _) = gen tgt $ env k
+ last (LastCall tgt Nothing _) = gen tgt $ emptyUniqSet
+ last (LastCondBranch e t f) = gen e $ unionUniqSets (env t) (env f)
last (LastSwitch e tbl) = gen e $ unionManyUniqSets $ map env (catMaybes tbl)