[commit: ghc] master: Get evaluated-ness right in the back end (bd438b2)

git at git.haskell.org git at git.haskell.org
Wed Jan 3 12:43:25 UTC 2018


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

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

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

commit bd438b2d67ec8f5d8ac8472f13b3175b569951b9
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Wed Jan 3 10:48:26 2018 +0000

    Get evaluated-ness right in the back end
    
    See Trac #14626, comment:4.  We want to maintain evaluted-ness
    info on Ids into the code generateor for two reasons
    (see Note [Preserve evaluated-ness in CorePrep] in CorePrep)
    
    - DataToTag magic
    - Potentially using it in the codegen (this is Gabor's
      current work)
    
    But it was all being done very inconsistently, and actually
    outright wrong -- the DataToTag magic hasn't been working for
    years.
    
    This patch tidies it all up, with Notes to match.


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

bd438b2d67ec8f5d8ac8472f13b3175b569951b9
 compiler/basicTypes/IdInfo.hs                      |   7 +-
 compiler/coreSyn/CorePrep.hs                       | 142 +++++++++++++--------
 compiler/coreSyn/CoreTidy.hs                       |   9 +-
 compiler/iface/ToIface.hs                          |  11 +-
 compiler/main/TidyPgm.hs                           |  30 +++--
 testsuite/tests/codeGen/should_compile/Makefile    |   3 +
 testsuite/tests/codeGen/should_compile/T14626.hs   |  15 +++
 .../tests/codeGen/should_compile/T14626.stdout     |   2 +
 testsuite/tests/codeGen/should_compile/all.T       |   3 +
 .../tests/deSugar/should_compile/T2431.stderr      |  32 ++---
 .../tests/roles/should_compile/Roles13.stderr      |  52 ++++----
 .../tests/simplCore/should_compile/T13143.stderr   |   4 +-
 .../tests/simplCore/should_compile/T3717.stderr    |   2 +-
 .../tests/simplCore/should_compile/T3772.stdout    |   4 +-
 .../tests/simplCore/should_compile/T4908.stderr    |   6 +-
 .../tests/simplCore/should_compile/T4930.stderr    |   2 +-
 .../tests/simplCore/should_compile/T7360.stderr    |   6 +-
 .../tests/simplCore/should_compile/T9400.stderr    |  64 +++++-----
 .../simplCore/should_compile/spec-inline.stderr    |   4 +-
 .../tests/stranal/should_compile/T10694.stderr     |  96 ++++++++------
 20 files changed, 298 insertions(+), 196 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 bd438b2d67ec8f5d8ac8472f13b3175b569951b9


More information about the ghc-commits mailing list