Merging in the new codegen branch
authordias@eecs.harvard.edu <unknown>
Thu, 14 Aug 2008 12:40:27 +0000 (12:40 +0000)
committerdias@eecs.harvard.edu <unknown>
Thu, 14 Aug 2008 12:40:27 +0000 (12:40 +0000)
commit176fa33f17dd78355cc572e006d2ab26898e2c69
tree54f951a515eac57626f8f15d57f7bc75f1096a7a
parente06951a75a1f519e8f015880c363a8dedc08ff9c
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
98 files changed:
compiler/basicTypes/IdInfo.lhs
compiler/cmm/BlockId.hs
compiler/cmm/CLabel.hs
compiler/cmm/Cmm.hs
compiler/cmm/CmmBrokenBlock.hs
compiler/cmm/CmmCPS.hs
compiler/cmm/CmmCPSGen.hs
compiler/cmm/CmmCPSZ.hs
compiler/cmm/CmmCallConv.hs
compiler/cmm/CmmCommonBlockElimZ.hs
compiler/cmm/CmmContFlowOpt.hs
compiler/cmm/CmmCvt.hs
compiler/cmm/CmmExpr.hs
compiler/cmm/CmmInfo.hs
compiler/cmm/CmmLex.x
compiler/cmm/CmmLint.hs
compiler/cmm/CmmLive.hs
compiler/cmm/CmmLiveZ.hs
compiler/cmm/CmmOpt.hs
compiler/cmm/CmmParse.y
compiler/cmm/CmmProcPointZ.hs
compiler/cmm/CmmSpillReload.hs
compiler/cmm/CmmUtils.hs
compiler/cmm/CmmZipUtil.hs
compiler/cmm/DFMonad.hs
compiler/cmm/MachOp.hs [deleted file]
compiler/cmm/MkZipCfg.hs
compiler/cmm/MkZipCfgCmm.hs
compiler/cmm/OptimizationFuel.hs
compiler/cmm/PprC.hs
compiler/cmm/PprCmm.hs
compiler/cmm/PprCmmZ.hs
compiler/cmm/README
compiler/cmm/StackColor.hs
compiler/cmm/ZipCfg.hs
compiler/cmm/ZipCfgCmmRep.hs
compiler/cmm/ZipCfgExtras.hs
compiler/cmm/ZipDataflow.hs
compiler/codeGen/CgBindery.lhs
compiler/codeGen/CgCallConv.hs
compiler/codeGen/CgCase.lhs
compiler/codeGen/CgClosure.lhs
compiler/codeGen/CgCon.lhs
compiler/codeGen/CgExpr.lhs
compiler/codeGen/CgForeignCall.hs
compiler/codeGen/CgHeapery.lhs
compiler/codeGen/CgHpc.hs
compiler/codeGen/CgInfoTbls.hs
compiler/codeGen/CgMonad.lhs
compiler/codeGen/CgPrimOp.hs
compiler/codeGen/CgProf.hs
compiler/codeGen/CgStackery.lhs
compiler/codeGen/CgTailCall.lhs
compiler/codeGen/CgTicky.hs
compiler/codeGen/CgUtils.hs
compiler/codeGen/ClosureInfo.lhs
compiler/codeGen/CodeGen.lhs
compiler/codeGen/SMRep.lhs
compiler/codeGen/StgCmm.hs [new file with mode: 0644]
compiler/codeGen/StgCmmBind.hs [new file with mode: 0644]
compiler/codeGen/StgCmmBind.hs-boot [new file with mode: 0644]
compiler/codeGen/StgCmmClosure.hs [new file with mode: 0644]
compiler/codeGen/StgCmmCon.hs [new file with mode: 0644]
compiler/codeGen/StgCmmEnv.hs [new file with mode: 0644]
compiler/codeGen/StgCmmExpr.hs [new file with mode: 0644]
compiler/codeGen/StgCmmForeign.hs [new file with mode: 0644]
compiler/codeGen/StgCmmGran.hs [new file with mode: 0644]
compiler/codeGen/StgCmmHeap.hs [new file with mode: 0644]
compiler/codeGen/StgCmmHpc.hs [new file with mode: 0644]
compiler/codeGen/StgCmmLayout.hs [new file with mode: 0644]
compiler/codeGen/StgCmmMonad.hs [new file with mode: 0644]
compiler/codeGen/StgCmmPrim.hs [new file with mode: 0644]
compiler/codeGen/StgCmmProf.hs [new file with mode: 0644]
compiler/codeGen/StgCmmTicky.hs [new file with mode: 0644]
compiler/codeGen/StgCmmUtils.hs [new file with mode: 0644]
compiler/deSugar/DsForeign.lhs
compiler/ghc.cabal.in
compiler/main/DynFlags.hs
compiler/main/HscMain.lhs
compiler/nativeGen/AsmCodeGen.lhs
compiler/nativeGen/MachCodeGen.hs
compiler/nativeGen/MachInstrs.hs
compiler/nativeGen/MachRegs.lhs
compiler/nativeGen/NCGMonad.hs
compiler/nativeGen/PositionIndependentCode.hs
compiler/nativeGen/PprMach.hs
compiler/nativeGen/RegAllocInfo.hs
compiler/prelude/ForeignCall.lhs
compiler/typecheck/TcForeign.lhs
compiler/typecheck/TcRnDriver.lhs
includes/Cmm.h
includes/mkDerivedConstants.c
rts/Exception.cmm
rts/HeapStackCheck.cmm
rts/PrimOps.cmm
rts/Updates.cmm
utils/genapply/GenApply.hs
utils/runstdtest/runstdtest.prl