Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : unboxed-tuple-arguments2

http://hackage.haskell.org/trac/ghc/changeset/826b5707ebe7ca7381d488fdbd143a39b467bfdf

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

commit 826b5707ebe7ca7381d488fdbd143a39b467bfdf
Author: Max Bolingbroke <[email protected]>
Date:   Sun Mar 18 00:00:38 2012 +0000

    Support code generation for unboxed-tuple function arguments
    
    This is done by a 'unarisation' pre-pass at the STG level which
    translates away all (live) binders binding something of unboxed
    tuple type.
    
    This has the following knock-on effects:
      * The subkind hierarchy is vastly simplified (no UbxTupleKind or ArgKind)
      * Various relaxed type checks in typechecker, 'foreign import prim' etc
      * All case binders may be live at the Core level

 compiler/basicTypes/BasicTypes.lhs |   13 +++-
 compiler/basicTypes/DataCon.lhs    |    9 ++-
 compiler/basicTypes/Id.lhs         |   10 +-
 compiler/cmm/CmmUtils.hs           |    6 +-
 compiler/codeGen/CgCon.lhs         |    8 +-
 compiler/codeGen/CgExpr.lhs        |    2 +-
 compiler/codeGen/CgForeignCall.hs  |    3 +-
 compiler/codeGen/ClosureInfo.lhs   |   35 +++++----
 compiler/codeGen/StgCmm.hs         |    4 +-
 compiler/codeGen/StgCmmClosure.hs  |   31 +++++---
 compiler/codeGen/StgCmmCon.hs      |    2 +-
 compiler/codeGen/StgCmmExpr.hs     |    2 +-
 compiler/codeGen/StgCmmForeign.hs  |    3 +-
 compiler/codeGen/StgCmmLayout.hs   |    8 +-
 compiler/codeGen/StgCmmTicky.hs    |    6 +-
 compiler/codeGen/StgCmmUtils.hs    |    2 +-
 compiler/coreSyn/CoreLint.lhs      |   18 +----
 compiler/deSugar/DsExpr.lhs        |   31 +-------
 compiler/deSugar/DsForeign.lhs     |   13 ++-
 compiler/ghc.cabal.in              |    1 +
 compiler/ghci/ByteCodeGen.lhs      |   32 +++++---
 compiler/ghci/ByteCodeItbls.lhs    |    3 +-
 compiler/ghci/RtClosureInspect.hs  |  119 ++++++++++++++++++----------
 compiler/main/InteractiveEval.hs   |    7 +-
 compiler/parser/ParserCore.y       |    2 +-
 compiler/prelude/PrelNames.lhs     |    5 +-
 compiler/prelude/TysPrim.lhs       |   31 +------
 compiler/prelude/TysWiredIn.lhs    |    4 +-
 compiler/simplCore/CSE.lhs         |   30 +-------
 compiler/simplStg/SimplStg.lhs     |    6 +-
 compiler/simplStg/UnariseStg.lhs   |  156 ++++++++++++++++++++++++++++++++++++
 compiler/stgSyn/CoreToStg.lhs      |   11 ++-
 compiler/stgSyn/StgLint.lhs        |   34 +++++----
 compiler/stgSyn/StgSyn.lhs         |    4 +-
 compiler/typecheck/TcBinds.lhs     |    4 +-
 compiler/typecheck/TcDeriv.lhs     |    2 +-
 compiler/typecheck/TcExpr.lhs      |    4 +-
 compiler/typecheck/TcHsType.lhs    |   16 ++--
 compiler/typecheck/TcMType.lhs     |   54 ++++---------
 compiler/typecheck/TcPat.lhs       |   32 +------
 compiler/typecheck/TcType.lhs      |    4 +-
 compiler/typecheck/TcUnify.lhs     |    2 +-
 compiler/types/Kind.lhs            |   45 ++--------
 compiler/types/Type.lhs            |   79 ++++++++----------
 compiler/types/TypeRep.lhs         |    4 +-
 compiler/utils/Util.lhs            |   12 +++-
 46 files changed, 495 insertions(+), 414 deletions(-)


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

    git show 826b5707ebe7ca7381d488fdbd143a39b467bfdf

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to