Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
Shayne Fletcher
Glasgow Haskell Compiler
Commits
de2d10e1
Commit
de2d10e1
authored
Jun 14, 2011
by
Edward Z. Yang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rename CmmCPS to CmmPipeline.
Signed-off-by:
Edward Z. Yang
<
ezyang@mit.edu
>
parent
c8e5f0f6
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
15 additions
and
17 deletions
+15
-17
compiler/cmm/CmmPipeline.hs
compiler/cmm/CmmPipeline.hs
+1
-1
compiler/cmm/cmm-notes
compiler/cmm/cmm-notes
+12
-14
compiler/ghc.cabal.in
compiler/ghc.cabal.in
+1
-1
compiler/main/HscMain.lhs
compiler/main/HscMain.lhs
+1
-1
No files found.
compiler/cmm/Cmm
CPS
.hs
→
compiler/cmm/Cmm
Pipeline
.hs
View file @
de2d10e1
...
...
@@ -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
Cmm
CPS
(
module
Cmm
Pipeline
(
-- | 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.
...
...
compiler/cmm/cmm-notes
View file @
de2d10e1
...
...
@@ -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 ------------
Cmm
CPS.hs
Driver for new pipeline
Cmm
Pipeline.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
----------------------------------------------------
Cmm
CPS.protoCmmCPS
The new pipeline
Cmm
Pipeline.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. Cmm
CPS
.toTops actually does
CmmInfoTable attached to each CmmProc. Cmm
Pipeline
.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.
...
...
compiler/ghc.cabal.in
View file @
de2d10e1
...
...
@@ -182,7 +182,7 @@ Library
CLabel
Cmm
CmmBuildInfoTables
Cmm
CPS
Cmm
Pipeline
CmmCallConv
CmmCommonBlockElim
CmmContFlowOpt
...
...
compiler/main/HscMain.lhs
View file @
de2d10e1
...
...
@@ -118,7 +118,7 @@ import OldCmm ( Cmm )
import PprCmm ( pprCmms )
import CmmParse ( parseCmmFile )
import CmmBuildInfoTables
import Cmm
CPS
import Cmm
Pipeline
import CmmInfo
import OptimizationFuel ( initOptFuelState )
import CmmCvt
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment