[commit: ghc] master: Allow CSE'ing of work-wrapped bindings (#14186) (fe04f37)

git at git.haskell.org git at git.haskell.org
Tue Sep 12 15:02:44 UTC 2017


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

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/fe04f3783b662c52c4a0ff36b2d62a7a575998a5/ghc

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

commit fe04f3783b662c52c4a0ff36b2d62a7a575998a5
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Sun Sep 10 16:10:37 2017 +0100

    Allow CSE'ing of work-wrapped bindings (#14186)
    
    the worker/wrapper creates an artificial INLINE pragma, which caused CSE
    to not do its work. We now recognize such artificial pragmas by using
    `NoUserInline` instead of `Inline` as the `InlineSpec`.
    
    Differential Revision: https://phabricator.haskell.org/D3939


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

fe04f3783b662c52c4a0ff36b2d62a7a575998a5
 compiler/basicTypes/BasicTypes.hs                  |  26 +-
 compiler/deSugar/DsBinds.hs                        |   8 +-
 compiler/deSugar/DsMeta.hs                         |   2 +-
 compiler/hsSyn/Convert.hs                          |   2 +-
 compiler/hsSyn/HsBinds.hs                          |   4 +-
 compiler/parser/Parser.y                           |   2 +-
 compiler/simplCore/CSE.hs                          |  10 +-
 compiler/specialise/Specialise.hs                  |   2 +-
 compiler/stranal/WorkWrap.hs                       |   6 +-
 compiler/typecheck/TcSigs.hs                       |   2 +-
 compiler/utils/Binary.hs                           |   4 +-
 testsuite/tests/roles/should_compile/Roles1.stderr |  45 +-
 .../tests/roles/should_compile/Roles14.stderr      |  15 +-
 testsuite/tests/roles/should_compile/Roles2.stderr |  16 +-
 testsuite/tests/roles/should_compile/Roles3.stderr |  30 +-
 testsuite/tests/roles/should_compile/Roles4.stderr |  23 +-
 testsuite/tests/roles/should_compile/T8958.stderr  |  27 +-
 .../tests/simplCore/should_compile/T13143.stderr   |   6 +-
 .../tests/simplCore/should_compile/T14186.stderr   | 122 +++--
 .../tests/simplCore/should_compile/T3717.stderr    |  30 +-
 .../tests/simplCore/should_compile/T3772.stdout    |   2 +-
 .../tests/simplCore/should_compile/T4908.stderr    |  61 ++-
 .../tests/simplCore/should_compile/T4930.stderr    |   4 +-
 .../tests/simplCore/should_compile/T7360.stderr    |   4 +-
 .../tests/simplCore/should_compile/T7865.stdout    |   2 +-
 testsuite/tests/simplCore/should_compile/all.T     |   2 +-
 .../simplCore/should_compile/spec-inline.stderr    |   6 +-
 .../tests/stranal/should_compile/T10482.stderr     | 264 ++++++++++-
 .../tests/stranal/should_compile/T10482a.stderr    | 490 ++++++++++++++++++++-
 testsuite/tests/th/TH_Roles2.stderr                |   8 +-
 30 files changed, 1024 insertions(+), 201 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 fe04f3783b662c52c4a0ff36b2d62a7a575998a5


More information about the ghc-commits mailing list