From: Edward Z. Yang Date: Tue, 14 Jun 2011 11:33:37 +0000 (+0100) Subject: Rename CmmCPS to CmmPipeline. X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=de2d10e18ce23e5df7fa4f3433b85c95d6092b58;ds=sidebyside Rename CmmCPS to CmmPipeline. Signed-off-by: Edward Z. Yang --- diff --git a/compiler/cmm/CmmCPS.hs b/compiler/cmm/CmmPipeline.hs similarity index 99% rename from compiler/cmm/CmmCPS.hs rename to compiler/cmm/CmmPipeline.hs index c29e5f6..a90d6b4 100644 --- a/compiler/cmm/CmmCPS.hs +++ b/compiler/cmm/CmmPipeline.hs @@ -2,7 +2,7 @@ -- Norman likes local bindings -- If this module lives on I'd like to get rid of this flag in due course -module CmmCPS ( +module CmmPipeline ( -- | Converts C-- with an implicit stack and native C-- calls into -- optimized, CPS converted and native-call-less C--. The latter -- C-- can be used to generate assembly. diff --git a/compiler/cmm/cmm-notes b/compiler/cmm/cmm-notes index 5f26edd..4a87911 100644 --- a/compiler/cmm/cmm-notes +++ b/compiler/cmm/cmm-notes @@ -8,8 +8,6 @@ More notes (June 11) or parameterise FCode over its envt; the CgState part seem useful for both -* Rename CmmCPS - * "Remove redundant reloads" in CmmSpillReload should be redundant; since insertLateReloads is now gone, every reload is reloading a live variable. Test and nuke. @@ -250,7 +248,7 @@ CmmCvt.hs Conversion between old and new Cmm reps CmmOpt.hs Hopefully-redundant optimiser -------- Stuff to keep ------------ -CmmCPS.hs Driver for new pipeline +CmmPipeline.hs Driver for new pipeline CmmLive.hs Liveness analysis, dead code elim CmmProcPoint.hs Identifying and splitting out proc-points @@ -297,24 +295,24 @@ BlockId.hs BlockId, BlockEnv, BlockSet type RawCmm = GenCmm CmmStatic [CmmStatic] (ListGraph CmmStmt) * HscMain.tryNewCodeGen - - STG->Cmm: StgCmm.codeGen (new codegen) - - Optimise: CmmContFlowOpt (simple optimisations, very self contained) - - Cps convert: CmmCPS.protoCmmCPS - - Optimise: CmmContFlowOpt again - - Convert: CmmCvt.cmmOfZgraph (convert to old rep) very self contained + - STG->Cmm: StgCmm.codeGen (new codegen) + - Optimize and CPS: CmmPipeline.cmmPipeline + - Convert: CmmCvt.cmmOfZgraph (convert to old rep) very self contained * StgCmm.hs The new STG -> Cmm conversion code generator Lots of modules StgCmmXXX ---------------------------------------------------- - CmmCPS.protoCmmCPS The new pipeline + CmmPipeline.cmmPipeline The new pipeline ---------------------------------------------------- -CmmCPS.protoCmmCPS: - 1. Do cpsTop for each procedures separately - 2. Build SRT representation; this spans multiple procedures - (unless split-objs) +CmmPipeline.cmmPipeline: + 1. Do control flow optimization + 2. Do cpsTop for each procedures separately + 3. Build SRT representation; this spans multiple procedures + (unless split-objs) + 4. Do control flow optimization on all resulting procedures cpsTop: * CmmCommonBlockElim.elimCommonBlocks: @@ -452,7 +450,7 @@ a dominator analysis, using the Dataflow Engine. f's keep-alive refs to include h1. * The SRT info is the C_SRT field of Cmm.ClosureTypeInfo in a - CmmInfoTable attached to each CmmProc. CmmCPS.toTops actually does + CmmInfoTable attached to each CmmProc. CmmPipeline.toTops actually does the attaching, right at the end of the pipeline. The C_SRT part gives offsets within a single, shared table of closure pointers. diff --git a/compiler/ghc.cabal.in b/compiler/ghc.cabal.in index b3d9f0c..a6c74f7 100644 --- a/compiler/ghc.cabal.in +++ b/compiler/ghc.cabal.in @@ -182,7 +182,7 @@ Library CLabel Cmm CmmBuildInfoTables - CmmCPS + CmmPipeline CmmCallConv CmmCommonBlockElim CmmContFlowOpt diff --git a/compiler/main/HscMain.lhs b/compiler/main/HscMain.lhs index 217a0c4..a120926 100644 --- a/compiler/main/HscMain.lhs +++ b/compiler/main/HscMain.lhs @@ -118,7 +118,7 @@ import OldCmm ( Cmm ) import PprCmm ( pprCmms ) import CmmParse ( parseCmmFile ) import CmmBuildInfoTables -import CmmCPS +import CmmPipeline import CmmInfo import OptimizationFuel ( initOptFuelState ) import CmmCvt