diff options
author | simonpj@microsoft.com <unknown> | 2010-05-04 16:36:29 +0000 |
---|---|---|
committer | simonpj@microsoft.com <unknown> | 2010-05-04 16:36:29 +0000 |
commit | 0e04bfecd870305bdf5945ba3ab80f314c708265 (patch) | |
tree | 4af8623903959e4558466521c3b9fc0886c2405f | |
parent | 0f62d90fe74c90fa5a6568f23ccb5576f12a6c4e (diff) | |
download | haskell-0e04bfecd870305bdf5945ba3ab80f314c708265.tar.gz |
Comments only
-rw-r--r-- | compiler/stranal/WorkWrap.lhs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/stranal/WorkWrap.lhs b/compiler/stranal/WorkWrap.lhs index b0759b92aa..7a56c33289 100644 --- a/compiler/stranal/WorkWrap.lhs +++ b/compiler/stranal/WorkWrap.lhs @@ -226,6 +226,7 @@ tryWW is_rec fn_id rhs = return [ (fn_id, rhs) ] | is_thunk && worthSplittingThunk maybe_fn_dmd res_info + -- See Note [Thunk splitting] = ASSERT2( isNonRec is_rec, ppr new_fn_id ) -- The thunk must be non-recursive checkSize new_fn_id rhs $ splitThunk new_fn_id rhs @@ -356,8 +357,8 @@ get_one_shots (Note _ e) = get_one_shots e get_one_shots _ = noOneShotInfo \end{code} -Thunk splitting -~~~~~~~~~~~~~~~ +Note [Thunk splitting] +~~~~~~~~~~~~~~~~~~~~~~ Suppose x is used strictly (never mind whether it has the CPR property). @@ -391,6 +392,7 @@ function, so that if x's demand is deeper (say U(U(L,L),L)) then the splitting will go deeper too. \begin{code} +-- See Note [Thunk splitting] -- splitThunk converts the *non-recursive* binding -- x = e -- into |