diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2014-05-23 09:16:00 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2014-08-28 11:14:15 +0100 |
commit | 86a2ebf8deae9505c7a183acf0847b3e53b43fee (patch) | |
tree | 4a0827bae3476488cea3efd572e0876ab0eae76f /compiler/simplCore/SetLevels.lhs | |
parent | 6d48ce2925e3cc0e267c58367739d4064094af7f (diff) | |
download | haskell-86a2ebf8deae9505c7a183acf0847b3e53b43fee.tar.gz |
Comments only
Diffstat (limited to 'compiler/simplCore/SetLevels.lhs')
-rw-r--r-- | compiler/simplCore/SetLevels.lhs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/simplCore/SetLevels.lhs b/compiler/simplCore/SetLevels.lhs index c69687b424..5f63096a29 100644 --- a/compiler/simplCore/SetLevels.lhs +++ b/compiler/simplCore/SetLevels.lhs @@ -352,6 +352,9 @@ lvlExpr env expr@(_, AnnLam {}) lvlExpr env (_, AnnLet bind body) = do { (bind', new_env) <- lvlBind env bind ; body' <- lvlExpr new_env body + -- No point in going via lvlMFE here. If the binding is alive + -- (mentioned in body), and the whole let-expression doesn't + -- float, then neither will the body ; return (Let bind' body') } lvlExpr env (_, AnnCase scrut@(scrut_fvs,_) case_bndr ty alts) |