[commit: ghc] wip/T12618: Introduce ConApp to Core (dead code as of yet) (bd6f68d)

git at git.haskell.org git at git.haskell.org
Tue Oct 4 20:17:10 UTC 2016


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

On branch  : wip/T12618
Link       : http://ghc.haskell.org/trac/ghc/changeset/bd6f68d11acbb81e008b4f379950714858a11a19/ghc

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

commit bd6f68d11acbb81e008b4f379950714858a11a19
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Thu Sep 29 16:56:56 2016 -0400

    Introduce ConApp to Core (dead code as of yet)
    
    This is the first step towards #12618: It adds the data constructor and
    then fixes all problems due to incomplete patterns, essentially
    preparing the complete compiler for the eventual use of this variant.
    Because no where a ConApp is created, this should not yet have any
    effect.
    
    Care is taken to not take shortcuts via the data con worker id, as
    eventually, there will be no data con worker any more.
    
    There are a few unclear spots, marked with "TODO #12618". Input is
    appreciated. These are currently:
     * CoreLint: Remove a check from the App case that will only be relevant
       occurring in the ConApp case later
     * simplExprF1: This case became very easy. I might have overlooked
       something else happening to arguments, as I read and simplified the
       code that handled App. Second pairs of eyes welcome.
     * ruleCheck: There can be no rules attached to data constructors, can
       there?
     * scExp: Can a datacon be in scSubstId?
     * dmdAnal: How to get the idStrictness equivalent of the worker?
       Or is there never something useful to be said about the strictness
       signature of an constructor? (Because strictness annotations are
       taken care of by the wrapper?


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

bd6f68d11acbb81e008b4f379950714858a11a19
 compiler/basicTypes/DataCon.hs            | 14 +++++--
 compiler/basicTypes/Demand.hs             | 17 +++++++-
 compiler/basicTypes/MkId.hs               | 43 +++++++++----------
 compiler/codeGen/StgCmmEnv.hs             |  1 -
 compiler/coreSyn/CoreFVs.hs               | 14 +++++++
 compiler/coreSyn/CoreLint.hs              | 13 ++++++
 compiler/coreSyn/CorePrep.hs              | 23 +++++++++++
 compiler/coreSyn/CoreSeq.hs               |  1 +
 compiler/coreSyn/CoreStats.hs             |  2 +
 compiler/coreSyn/CoreSubst.hs             | 42 +++++++++++--------
 compiler/coreSyn/CoreSyn.hs               | 11 ++++-
 compiler/coreSyn/CoreTidy.hs              | 15 +++----
 compiler/coreSyn/CoreUnfold.hs            |  5 +++
 compiler/coreSyn/CoreUtils.hs             | 55 +++++++++++++++++--------
 compiler/coreSyn/PprCore.hs               | 10 +++++
 compiler/coreSyn/TrieMap.hs               | 68 ++++++++++++++++++++-----------
 compiler/ghci/ByteCodeGen.hs              | 26 ++++++++++++
 compiler/iface/IfaceSyn.hs                | 46 +++++++++++++--------
 compiler/iface/MkIface.hs                 | 27 +++++++-----
 compiler/iface/TcIface.hs                 |  3 ++
 compiler/main/TidyPgm.hs                  |  2 +
 compiler/nativeGen/RegAlloc/Graph/Main.hs |  3 ++
 compiler/nativeGen/RegAlloc/Liveness.hs   | 10 ++---
 compiler/simplCore/CSE.hs                 |  1 +
 compiler/simplCore/CallArity.hs           | 26 +++++++++---
 compiler/simplCore/FloatIn.hs             | 19 +++++++++
 compiler/simplCore/FloatOut.hs            |  8 ++++
 compiler/simplCore/LiberateCase.hs        |  1 +
 compiler/simplCore/OccurAnal.hs           |  8 ++++
 compiler/simplCore/SAT.hs                 | 12 ++++++
 compiler/simplCore/SetLevels.hs           |  6 ++-
 compiler/simplCore/SimplUtils.hs          |  1 +
 compiler/simplCore/Simplify.hs            | 18 ++++++++
 compiler/specialise/Rules.hs              | 13 ++++++
 compiler/specialise/SpecConstr.hs         |  4 ++
 compiler/specialise/Specialise.hs         |  3 ++
 compiler/stgSyn/CoreToStg.hs              | 12 ++++++
 compiler/stranal/DmdAnal.hs               | 33 +++++++++++++++
 compiler/stranal/WorkWrap.hs              |  3 ++
 compiler/vectorise/Vectorise/Exp.hs       | 13 ++++++
 compiler/vectorise/Vectorise/Utils.hs     |  6 ---
 41 files changed, 499 insertions(+), 139 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 bd6f68d11acbb81e008b4f379950714858a11a19


More information about the ghc-commits mailing list