projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
df0fb99
)
Comments only
author
simonpj@microsoft.com
<unknown>
Wed, 17 Sep 2008 16:23:50 +0000
(16:23 +0000)
committer
simonpj@microsoft.com
<unknown>
Wed, 17 Sep 2008 16:23:50 +0000
(16:23 +0000)
compiler/simplCore/SetLevels.lhs
patch
|
blob
|
history
diff --git
a/compiler/simplCore/SetLevels.lhs
b/compiler/simplCore/SetLevels.lhs
index
4411d74
..
2c84589
100644
(file)
--- 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.
@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)
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, _)
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
|| isInlineCtxt ctxt_lvl -- Don't float out of an __inline__ context
|| exprIsTrivial expr -- Never float if it's trivial
|| not good_destination