[commit: ghc] wip/spj-early-inline2: Improve SetLevels for join points (acaa814)

git at git.haskell.org git at git.haskell.org
Tue Feb 21 23:27:18 UTC 2017


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

On branch  : wip/spj-early-inline2
Link       : http://ghc.haskell.org/trac/ghc/changeset/acaa814802ba2b94a696e43338e291bb396bb8a8/ghc

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

commit acaa814802ba2b94a696e43338e291bb396bb8a8
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...)


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

acaa814802ba2b94a696e43338e291bb396bb8a8
 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 acaa814802ba2b94a696e43338e291bb396bb8a8


More information about the ghc-commits mailing list