summaryrefslogtreecommitdiff
path: root/compiler/simplCore/SetLevels.lhs
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2014-05-23 09:16:00 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2014-08-28 11:14:15 +0100
commit86a2ebf8deae9505c7a183acf0847b3e53b43fee (patch)
tree4a0827bae3476488cea3efd572e0876ab0eae76f /compiler/simplCore/SetLevels.lhs
parent6d48ce2925e3cc0e267c58367739d4064094af7f (diff)
downloadhaskell-86a2ebf8deae9505c7a183acf0847b3e53b43fee.tar.gz
Comments only
Diffstat (limited to 'compiler/simplCore/SetLevels.lhs')
-rw-r--r--compiler/simplCore/SetLevels.lhs3
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)