[commit: ghc] wip/spj-early-inline: Improve SetLevels for join points (0499c65)

git at git.haskell.org git at git.haskell.org
Fri Feb 17 16:28:41 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/spj-early-inline
Link       : http://ghc.haskell.org/trac/ghc/changeset/0499c65d9fa45e7879e1e1264fdaa15274adcba6/ghc

>---------------------------------------------------------------

commit 0499c65d9fa45e7879e1e1264fdaa15274adcba6
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Fri Feb 17 16:17:16 2017 +0000

    Improve SetLevels for join points
    
    C.f. Trac #13286, #13236
    
    * Never destroy a join point unless it goes to top level
      See Note [Floating join point bindings]
    
    * Never float a MFE if it has a free join variable
      Note [Free join points]
    
    * Stop treating nullary join points specially
    
    * Enforce the invariant that le_join_ceil >= le_ctxt_lvl
      (Needs more thought...)


>---------------------------------------------------------------

0499c65d9fa45e7879e1e1264fdaa15274adcba6
 compiler/simplCore/SetLevels.hs | 315 +++++++++++++++++++---------------------
 1 file changed, 149 insertions(+), 166 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 0499c65d9fa45e7879e1e1264fdaa15274adcba6


More information about the ghc-commits mailing list