diff options
author | Ömer Sinan Ağacan <omeragacan@gmail.com> | 2016-02-24 16:22:36 -0500 |
---|---|---|
committer | Ömer Sinan Ağacan <omeragacan@gmail.com> | 2016-02-24 16:41:55 -0500 |
commit | a9dc62ae3a28a7c5fc173895f148e65c6ffc14de (patch) | |
tree | b52e5881bfaa2438233aea75fdc2420a62322ba8 /compiler/codeGen | |
parent | d8c64e86361f6766ebe26a262bb229fb8301a42a (diff) | |
download | haskell-a9dc62ae3a28a7c5fc173895f148e65c6ffc14de.tar.gz |
Remove "use mask" from StgAlt syntax
Reviewers: austin, bgamari, simonpj
Reviewed By: simonpj
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1933
Diffstat (limited to 'compiler/codeGen')
-rw-r--r-- | compiler/codeGen/StgCmmBind.hs | 2 | ||||
-rw-r--r-- | compiler/codeGen/StgCmmExpr.hs | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/compiler/codeGen/StgCmmBind.hs b/compiler/codeGen/StgCmmBind.hs index ea05e8d488..f34186a8ac 100644 --- a/compiler/codeGen/StgCmmBind.hs +++ b/compiler/codeGen/StgCmmBind.hs @@ -270,7 +270,7 @@ mkRhsClosure dflags bndr _cc _bi , StgCase (StgApp scrutinee [{-no args-}]) _ -- ignore bndr (AlgAlt _) - [(DataAlt _, params, _use_mask, sel_expr)] <- strip expr + [(DataAlt _, params, sel_expr)] <- strip expr , StgApp selectee [{-no args-}] <- strip sel_expr , the_fv == scrutinee -- Scrutinee is the only free variable diff --git a/compiler/codeGen/StgCmmExpr.hs b/compiler/codeGen/StgCmmExpr.hs index 0f3898bf81..86b3aeced3 100644 --- a/compiler/codeGen/StgCmmExpr.hs +++ b/compiler/codeGen/StgCmmExpr.hs @@ -375,7 +375,7 @@ calls to nonVoidIds in various places. So we must not look up cgCase (StgApp v []) _ (PrimAlt _) alts | isVoidRep (idPrimRep v) -- See Note [Scrutinising VoidRep] - , [(DEFAULT, _, _, rhs)] <- alts + , [(DEFAULT, _, rhs)] <- alts = cgExpr rhs {- Note [Dodgy unsafeCoerce 1] @@ -529,7 +529,7 @@ chooseReturnBndrs :: Id -> AltType -> [StgAlt] -> [NonVoid Id] chooseReturnBndrs bndr (PrimAlt _) _alts = nonVoidIds [bndr] -chooseReturnBndrs _bndr (UbxTupAlt _) [(_, ids, _, _)] +chooseReturnBndrs _bndr (UbxTupAlt _) [(_, ids, _)] = nonVoidIds ids -- 'bndr' is not assigned! chooseReturnBndrs bndr (AlgAlt _) _alts @@ -545,10 +545,10 @@ chooseReturnBndrs _ _ _ = panic "chooseReturnBndrs" cgAlts :: (GcPlan,ReturnKind) -> NonVoid Id -> AltType -> [StgAlt] -> FCode ReturnKind -- At this point the result of the case are in the binders -cgAlts gc_plan _bndr PolyAlt [(_, _, _, rhs)] +cgAlts gc_plan _bndr PolyAlt [(_, _, rhs)] = maybeAltHeapCheck gc_plan (cgExpr rhs) -cgAlts gc_plan _bndr (UbxTupAlt _) [(_, _, _, rhs)] +cgAlts gc_plan _bndr (UbxTupAlt _) [(_, _, rhs)] = maybeAltHeapCheck gc_plan (cgExpr rhs) -- Here bndrs are *already* in scope, so don't rebind them @@ -645,7 +645,7 @@ cgAltRhss gc_plan bndr alts = do let base_reg = idToReg dflags bndr cg_alt :: StgAlt -> FCode (AltCon, CmmAGraphScoped) - cg_alt (con, bndrs, _uses, rhs) + cg_alt (con, bndrs, rhs) = getCodeScoped $ maybeAltHeapCheck gc_plan $ do { _ <- bindConArgs con base_reg bndrs |