diff options
author | simonpj@microsoft.com <unknown> | 2008-09-17 16:23:50 +0000 |
---|---|---|
committer | simonpj@microsoft.com <unknown> | 2008-09-17 16:23:50 +0000 |
commit | 8e3b990169fc33f1924b4e4faa53a5c6fd43268b (patch) | |
tree | a022852629a591e92c48e9525711a00939a4a9cd /compiler | |
parent | df0fb997b6e9d5e5b7ca45e8946335fb0ef0e762 (diff) | |
download | haskell-8e3b990169fc33f1924b4e4faa53a5c6fd43268b.tar.gz |
Comments only
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/simplCore/SetLevels.lhs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/simplCore/SetLevels.lhs b/compiler/simplCore/SetLevels.lhs index 4411d74ffd..2c84589e7b 100644 --- a/compiler/simplCore/SetLevels.lhs +++ b/compiler/simplCore/SetLevels.lhs @@ -358,7 +358,8 @@ lvlExpr ctxt_lvl env (_, AnnCase expr case_bndr ty alts) = do @lvlMFE@ is just like @lvlExpr@, except that it might let-bind the expression, so that it can itself be floated. -[NOTE: unlifted MFEs] +Note [Unlifted MFEs] +~~~~~~~~~~~~~~~~~~~~~ We don't float unlifted MFEs, which potentially loses big opportunites. For example: \x -> f (h y) @@ -377,7 +378,7 @@ lvlMFE _ _ _ (_, AnnType ty) lvlMFE strict_ctxt ctxt_lvl env ann_expr@(fvs, _) - | isUnLiftedType ty -- Can't let-bind it; see [NOTE: unlifted MFEs] + | isUnLiftedType ty -- Can't let-bind it; see Note [Unlifted MFEs] || isInlineCtxt ctxt_lvl -- Don't float out of an __inline__ context || exprIsTrivial expr -- Never float if it's trivial || not good_destination |