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/stgSyn/CoreToStg.hs | |
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/stgSyn/CoreToStg.hs')
-rw-r--r-- | compiler/stgSyn/CoreToStg.hs | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/compiler/stgSyn/CoreToStg.hs b/compiler/stgSyn/CoreToStg.hs index 414571cbf8..c275f4d4f3 100644 --- a/compiler/stgSyn/CoreToStg.hs +++ b/compiler/stgSyn/CoreToStg.hs @@ -413,18 +413,14 @@ coreToStgExpr (Case scrut bndr _ alts) = do -- where a nullary tuple is mapped to (State# World#) ASSERT( null binders ) do { (rhs2, rhs_fvs, rhs_escs) <- coreToStgExpr rhs - ; return ((DEFAULT, [], [], rhs2), rhs_fvs, rhs_escs) } + ; return ((DEFAULT, [], rhs2), rhs_fvs, rhs_escs) } | otherwise = let -- Remove type variables binders' = filterStgBinders binders in extendVarEnvLne [(b, LambdaBound) | b <- binders'] $ do (rhs2, rhs_fvs, rhs_escs) <- coreToStgExpr rhs - let - -- Records whether each param is used in the RHS - good_use_mask = [ b `elementOfFVInfo` rhs_fvs | b <- binders' ] - - return ( (con, binders', good_use_mask, rhs2), + return ( (con, binders', rhs2), binders' `minusFVBinders` rhs_fvs, rhs_escs `delVarSetList` binders' ) -- ToDo: remove the delVarSet; |