Mon Jan 24 04:16:50 PST 2011 Simon Marlow <[email protected]>
* Merge in new code generator branch.
This changes the new code generator to make use of the Hoopl package
for dataflow analysis. Hoopl is a new boot package, and is maintained
in a separate upstream git repository (as usual, GHC has its own
lagging darcs mirror in http://darcs.haskell.org/packages/hoopl).
During this merge I squashed recent history into one patch. I tried
to rebase, but the history had some internal conflicts of its own
which made rebase extremely confusing, so I gave up. The history I
squashed was:
- Update new codegen to work with latest Hoopl
- Add some notes on new code gen to cmm-notes
- Enable Hoopl lag package.
- Add SPJ note to cmm-notes
- Improve GC calls on new code generator.
Work in this branch was done by:
- Milan Straka <[email protected]>
- John Dias <[email protected]>
- David Terei <[email protected]>
Edward Z. Yang <[email protected]> merged in further changes from GHC HEAD
and fixed a few bugs.
./compiler/cmm/Cmm.hs -> ./compiler/cmm/OldCmm.hs
./compiler/cmm/CmmCommonBlockElimZ.hs ->
./compiler/cmm/CmmCommonBlockElim.hs
./compiler/cmm/CmmLiveZ.hs -> ./compiler/cmm/CmmLive.hs
./compiler/cmm/CmmProcPointZ.hs -> ./compiler/cmm/CmmProcPoint.hs
./compiler/cmm/PprCmm.hs -> ./compiler/cmm/PprCmmExpr.hs
./compiler/cmm/CmmCPSZ.hs -> ./compiler/cmm/CmmCPS.hs
M ./compiler/cmm/BlockId.hs -115 +24
A ./compiler/cmm/Cmm.hs
R ./compiler/cmm/CmmBrokenBlock.hs
M ./compiler/cmm/CmmBuildInfoTables.hs -218 +116
R ./compiler/cmm/CmmCPS.hs
R ./compiler/cmm/CmmCPSGen.hs
M ./compiler/cmm/CmmCallConv.hs -2 +3
M ./compiler/cmm/CmmCommonBlockElim.hs -55 +65
M ./compiler/cmm/CmmContFlowOpt.hs -130 +124
M ./compiler/cmm/CmmCvt.hs -136 +129
A ./compiler/cmm/CmmDecl.hs
M ./compiler/cmm/CmmExpr.hs -727 +12
M ./compiler/cmm/CmmInfo.hs -29 +14
M ./compiler/cmm/CmmLex.x -1 +1
M ./compiler/cmm/CmmLint.hs -8 +8
R ./compiler/cmm/CmmLive.hs
A ./compiler/cmm/CmmMachOp.hs
A ./compiler/cmm/CmmNode.hs
M ./compiler/cmm/CmmOpt.hs -4 +3
M ./compiler/cmm/CmmParse.y -2 +2
R ./compiler/cmm/CmmProcPoint.hs
M ./compiler/cmm/CmmSpillReload.hs -157 +148
M ./compiler/cmm/CmmStackLayout.hs -159 +151
R ./compiler/cmm/CmmTx.hs
A ./compiler/cmm/CmmType.hs
M ./compiler/cmm/CmmUtils.hs -84 +3
R ./compiler/cmm/CmmZipUtil.hs
R ./compiler/cmm/DFMonad.hs
R ./compiler/cmm/Dataflow.hs
A ./compiler/cmm/MkGraph.hs
R ./compiler/cmm/MkZipCfg.hs
R ./compiler/cmm/MkZipCfgCmm.hs
M ./compiler/cmm/OldCmm.hs -183 +32
A ./compiler/cmm/OldCmmUtils.hs
A ./compiler/cmm/OldPprCmm.hs
M ./compiler/cmm/OptimizationFuel.hs -69 +69
M ./compiler/cmm/PprC.hs -3 +3
A ./compiler/cmm/PprCmm.hs
A ./compiler/cmm/PprCmmDecl.hs
M ./compiler/cmm/PprCmmExpr.hs -361 +6
R ./compiler/cmm/PprCmmZ.hs
R ./compiler/cmm/README
R ./compiler/cmm/StackColor.hs
R ./compiler/cmm/StackPlacements.hs
R ./compiler/cmm/ZipCfg.hs
R ./compiler/cmm/ZipCfgCmmRep.hs
R ./compiler/cmm/ZipCfgExtras.hs
R ./compiler/cmm/ZipDataflow.hs
M ./compiler/cmm/cmm-notes -121 +144
M ./compiler/codeGen/CgBindery.lhs -1 +1
M ./compiler/codeGen/CgCallConv.hs -2 +2
M ./compiler/codeGen/CgCase.lhs -2 +2
M ./compiler/codeGen/CgClosure.lhs -2 +2
M ./compiler/codeGen/CgCon.lhs -2 +2
M ./compiler/codeGen/CgExpr.lhs -2 +2
M ./compiler/codeGen/CgExtCode.hs -4 +4
M ./compiler/codeGen/CgForeignCall.hs -2 +2
M ./compiler/codeGen/CgHeapery.lhs -2 +2
M ./compiler/codeGen/CgHpc.hs -2 +2
M ./compiler/codeGen/CgInfoTbls.hs -2 +2
M ./compiler/codeGen/CgLetNoEscape.lhs -2 +2
M ./compiler/codeGen/CgMonad.lhs -5 +6
M ./compiler/codeGen/CgParallel.hs -1 +1
M ./compiler/codeGen/CgPrimOp.hs -2 +2
M ./compiler/codeGen/CgProf.hs -2 +2
M ./compiler/codeGen/CgStackery.lhs -2 +2
M ./compiler/codeGen/CgTailCall.lhs -2 +2
M ./compiler/codeGen/CgTicky.hs -2 +2
M ./compiler/codeGen/CgUtils.hs -5 +4
M ./compiler/codeGen/CodeGen.lhs -3 +3
M ./compiler/codeGen/SMRep.lhs -1 +1
M ./compiler/codeGen/StgCmm.hs -5 +6
M ./compiler/codeGen/StgCmmBind.hs -84 +104
M ./compiler/codeGen/StgCmmClosure.hs -2 +1
M ./compiler/codeGen/StgCmmCon.hs -2 +2
M ./compiler/codeGen/StgCmmEnv.hs -2 +1
M ./compiler/codeGen/StgCmmExpr.hs -5 +4
M ./compiler/codeGen/StgCmmForeign.hs -32 +28
M ./compiler/codeGen/StgCmmGran.hs -1 +1
M ./compiler/codeGen/StgCmmHeap.hs -246 +294
M ./compiler/codeGen/StgCmmHpc.hs -2 +3
M ./compiler/codeGen/StgCmmLayout.hs -28 +11
M ./compiler/codeGen/StgCmmMonad.hs -12 +13
M ./compiler/codeGen/StgCmmPrim.hs -2 +3
M ./compiler/codeGen/StgCmmProf.hs -2 +3
M ./compiler/codeGen/StgCmmTicky.hs -2 +2
M ./compiler/codeGen/StgCmmUtils.hs -4 +4
M ./compiler/ghc.cabal.in -19 +12
M ./compiler/llvmGen/LlvmCodeGen.hs -4 +4
M ./compiler/llvmGen/LlvmCodeGen/Base.hs -1 +1
M ./compiler/llvmGen/LlvmCodeGen/CodeGen.hs -5 +5
M ./compiler/llvmGen/LlvmCodeGen/Data.hs -1 +1
M ./compiler/llvmGen/LlvmCodeGen/Ppr.hs -2 +2
M ./compiler/main/CodeOutput.lhs -1 +1
M ./compiler/main/HscMain.lhs -18 +9
M ./compiler/nativeGen/AsmCodeGen.lhs -19 +18
M ./compiler/nativeGen/Instruction.hs -1 +1
M ./compiler/nativeGen/NCGMonad.hs -1 +1
M ./compiler/nativeGen/PIC.hs -9 +9
M ./compiler/nativeGen/PPC/CodeGen.hs -7 +8
M ./compiler/nativeGen/PPC/Instr.hs -1 +1
M ./compiler/nativeGen/PPC/Ppr.hs -11 +10
M ./compiler/nativeGen/PPC/RegInfo.hs -4 +6
M ./compiler/nativeGen/PPC/Regs.hs -1 +1
M ./compiler/nativeGen/RegAlloc/Graph/Coalesce.hs -5 +5
M ./compiler/nativeGen/RegAlloc/Graph/Spill.hs -5 +5
M ./compiler/nativeGen/RegAlloc/Graph/SpillClean.hs -4 +3
M ./compiler/nativeGen/RegAlloc/Graph/SpillCost.hs -3 +3
M ./compiler/nativeGen/RegAlloc/Graph/Stats.hs -1 +2
M ./compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs -7 +6
M ./compiler/nativeGen/RegAlloc/Linear/Main.hs -8 +8
M ./compiler/nativeGen/RegAlloc/Linear/Stats.hs -1 +1
M ./compiler/nativeGen/RegAlloc/Liveness.hs -37 +31
M ./compiler/nativeGen/SPARC/CodeGen.hs -5 +6
M ./compiler/nativeGen/SPARC/CodeGen/Amode.hs -1 +1
M ./compiler/nativeGen/SPARC/CodeGen/Base.hs -1 +2
M ./compiler/nativeGen/SPARC/CodeGen/CCall.hs -1 +1
M ./compiler/nativeGen/SPARC/CodeGen/CondCode.hs -1 +1
M ./compiler/nativeGen/SPARC/CodeGen/Expand.hs -3 +3
M ./compiler/nativeGen/SPARC/CodeGen/Gen32.hs -6 +6
M ./compiler/nativeGen/SPARC/CodeGen/Gen32.hs-boot -1 +1
M ./compiler/nativeGen/SPARC/CodeGen/Gen64.hs -1 +1
M ./compiler/nativeGen/SPARC/CodeGen/Sanity.hs -1 +1
M ./compiler/nativeGen/SPARC/Imm.hs -1 +1
M ./compiler/nativeGen/SPARC/Instr.hs -1 +1
M ./compiler/nativeGen/SPARC/Ppr.hs -11 +11
M ./compiler/nativeGen/SPARC/Regs.hs -1 +1
M ./compiler/nativeGen/SPARC/ShortcutJump.hs -5 +6
M ./compiler/nativeGen/Size.hs -1 +1
M ./compiler/nativeGen/TargetReg.hs -1 +1
M ./compiler/nativeGen/X86/CodeGen.hs -8 +9
M ./compiler/nativeGen/X86/Instr.hs -7 +8
M ./compiler/nativeGen/X86/Ppr.hs -9 +8
M ./compiler/nativeGen/X86/Regs.hs -1 +1
M ./ghc.mk -1 +3
M ./mk/validate-settings.mk +9
M ./packages +1
M ./utils/ghc-cabal/Main.hs -2 +2
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=ghc;a=darcs_commitdiff;h=20110124121650-12142-036a6ecde3bfebaa35479ac739bc0e2084716545.gz
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc