patch applied (ghc): Merging in the new codegen branch

John Dias dias at eecs.harvard.edu
Wed Nov 26 00:22:23 EST 2008


Thu Aug 14 05:40:27 PDT 2008  dias at eecs.harvard.edu
  * Merging in the new codegen branch
  This merge does not turn on the new codegen (which only compiles
  a select few programs at this point),
  but it does introduce some changes to the old code generator.
  
  The high bits:
  1. The Rep Swamp patch is finally here.
     The highlight is that the representation of types at the
     machine level has changed.
     Consequently, this patch contains updates across several back ends.
  2. The new Stg -> Cmm path is here, although it appears to have a
     fair number of bugs lurking.
  3. Many improvements along the CmmCPSZ path, including:
     o stack layout
     o some code for infotables, half of which is right and half wrong
     o proc-point splitting

    M ./compiler/basicTypes/IdInfo.lhs +1
    M ./compiler/cmm/BlockId.hs -1 +14
    M ./compiler/cmm/CLabel.hs -42 +78
    M ./compiler/cmm/Cmm.hs -39 +88
    M ./compiler/cmm/CmmBrokenBlock.hs -16 +14
    M ./compiler/cmm/CmmCPS.hs -12 +11
    M ./compiler/cmm/CmmCPSGen.hs -33 +32
    M ./compiler/cmm/CmmCPSZ.hs -30 +28
    M ./compiler/cmm/CmmCallConv.hs -23 +72
    M ./compiler/cmm/CmmCommonBlockElimZ.hs -21 +17
    M ./compiler/cmm/CmmContFlowOpt.hs -34 +74
    M ./compiler/cmm/CmmCvt.hs -86 +74
    M ./compiler/cmm/CmmExpr.hs -96 +893
    M ./compiler/cmm/CmmInfo.hs -13 +10
    M ./compiler/cmm/CmmLex.x -2 +12
    M ./compiler/cmm/CmmLint.hs -43 +47
    M ./compiler/cmm/CmmLive.hs -5 +5
    M ./compiler/cmm/CmmLiveZ.hs -8 +6
    M ./compiler/cmm/CmmOpt.hs -52 +51
    M ./compiler/cmm/CmmParse.y -117 +112
    M ./compiler/cmm/CmmProcPointZ.hs -120 +589
    M ./compiler/cmm/CmmSpillReload.hs -154 +89
    M ./compiler/cmm/CmmUtils.hs -24 +70
    M ./compiler/cmm/CmmZipUtil.hs -1 +1
    M ./compiler/cmm/DFMonad.hs -4
    R ./compiler/cmm/MachOp.hs
    M ./compiler/cmm/MkZipCfg.hs -18 +16
    M ./compiler/cmm/MkZipCfgCmm.hs -52 +79
    M ./compiler/cmm/OptimizationFuel.hs -3 +3
    M ./compiler/cmm/PprC.hs -132 +184
    M ./compiler/cmm/PprCmm.hs -54 +81
    M ./compiler/cmm/PprCmmZ.hs -48 +18
    M ./compiler/cmm/README -3
    M ./compiler/cmm/StackColor.hs -18 +13
    M ./compiler/cmm/ZipCfg.hs -45 +55
    M ./compiler/cmm/ZipCfgCmmRep.hs -292 +285
    M ./compiler/cmm/ZipCfgExtras.hs -6 +6
    M ./compiler/cmm/ZipDataflow.hs -34 +95
    M ./compiler/codeGen/CgBindery.lhs -5 +2
    M ./compiler/codeGen/CgCallConv.hs -12 +11
    M ./compiler/codeGen/CgCase.lhs -5 +4
    M ./compiler/codeGen/CgClosure.lhs -7 +8
    M ./compiler/codeGen/CgCon.lhs -7 +8
    M ./compiler/codeGen/CgExpr.lhs -23 +12
    M ./compiler/codeGen/CgForeignCall.hs -28 +27
    M ./compiler/codeGen/CgHeapery.lhs -20 +20
    M ./compiler/codeGen/CgHpc.hs -13 +12
    M ./compiler/codeGen/CgInfoTbls.hs -19 +15
    M ./compiler/codeGen/CgMonad.lhs -2 +4
    M ./compiler/codeGen/CgPrimOp.hs -159 +172
    M ./compiler/codeGen/CgProf.hs -23 +22
    M ./compiler/codeGen/CgStackery.lhs -1
    M ./compiler/codeGen/CgTailCall.lhs -2 +5
    M ./compiler/codeGen/CgTicky.hs -18 +19
    M ./compiler/codeGen/CgUtils.hs -98 +91
    M ./compiler/codeGen/ClosureInfo.lhs -25 +27
    M ./compiler/codeGen/CodeGen.lhs -6 +6
    M ./compiler/codeGen/SMRep.lhs -23 +10
    A ./compiler/codeGen/StgCmm.hs
    A ./compiler/codeGen/StgCmmBind.hs
    A ./compiler/codeGen/StgCmmBind.hs-boot
    A ./compiler/codeGen/StgCmmClosure.hs
    A ./compiler/codeGen/StgCmmCon.hs
    A ./compiler/codeGen/StgCmmEnv.hs
    A ./compiler/codeGen/StgCmmExpr.hs
    A ./compiler/codeGen/StgCmmForeign.hs
    A ./compiler/codeGen/StgCmmGran.hs
    A ./compiler/codeGen/StgCmmHeap.hs
    A ./compiler/codeGen/StgCmmHpc.hs
    A ./compiler/codeGen/StgCmmLayout.hs
    A ./compiler/codeGen/StgCmmMonad.hs
    A ./compiler/codeGen/StgCmmPrim.hs
    A ./compiler/codeGen/StgCmmProf.hs
    A ./compiler/codeGen/StgCmmTicky.hs
    A ./compiler/codeGen/StgCmmUtils.hs
    M ./compiler/deSugar/DsForeign.lhs -25 +21
    M ./compiler/ghc.cabal.in -1 +16
    M ./compiler/main/DynFlags.hs -1 +7
    M ./compiler/main/HscMain.lhs -7 +51
    M ./compiler/nativeGen/AsmCodeGen.lhs -8 +7
    M ./compiler/nativeGen/MachCodeGen.hs -796 +771
    M ./compiler/nativeGen/MachInstrs.hs -109 +63
    M ./compiler/nativeGen/MachRegs.lhs -31 +123
    M ./compiler/nativeGen/NCGMonad.hs -4 +3
    M ./compiler/nativeGen/PositionIndependentCode.hs -9 +8
    M ./compiler/nativeGen/PprMach.hs -138 +143
    M ./compiler/nativeGen/RegAllocInfo.hs -24 +23
    M ./compiler/prelude/ForeignCall.lhs +2
    M ./compiler/typecheck/TcForeign.lhs -2 +1
    M ./compiler/typecheck/TcRnDriver.lhs -1 +2
    M ./includes/Cmm.h -4 +5
    M ./includes/mkDerivedConstants.c -10 +25
    M ./rts/Exception.cmm -2 +2
    M ./rts/HeapStackCheck.cmm -6 +6
    M ./rts/PrimOps.cmm -4 +4
    M ./rts/Updates.cmm -2 +2
    M ./utils/genapply/GenApply.hs -2 +2
    M ./utils/runstdtest/runstdtest.prl -2 +2

View patch online:
http://darcs.haskell.org/ghc/_darcs/patches/20080814124027-feb93-b0bfc7990ceb30459c253e0460ff10b56cb3c0f5.gz



More information about the Cvs-ghc mailing list