summaryrefslogtreecommitdiff
path: root/compiler/cmm/cmm-notes
diff options
context:
space:
mode:
authorsimonpj@microsoft.com <unknown>2009-11-12 15:33:32 +0000
committersimonpj@microsoft.com <unknown>2009-11-12 15:33:32 +0000
commit014549aea8d61c36dbb498666779e600a6406d20 (patch)
treead3c89847d5316242ee4e1ea57e22456a11908b7 /compiler/cmm/cmm-notes
parentb3ac03eb1d7a3f993cc9b4cbcc4815b52b2aea0b (diff)
downloadhaskell-014549aea8d61c36dbb498666779e600a6406d20.tar.gz
Comments only
Diffstat (limited to 'compiler/cmm/cmm-notes')
-rw-r--r--compiler/cmm/cmm-notes18
1 files changed, 18 insertions, 0 deletions
diff --git a/compiler/cmm/cmm-notes b/compiler/cmm/cmm-notes
index 2fab86fd6d..823fd0ae5e 100644
--- a/compiler/cmm/cmm-notes
+++ b/compiler/cmm/cmm-notes
@@ -2,6 +2,24 @@ Notes on new codegen (Sept 09)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Things to do:
+
+ - CmmContFlowOpt.runCmmContFlowOptZs is not called!
+ - Why is runCmmOpts called from HscMain? Seems too "high up".
+ In fact HscMain calls (runCmmOpts cmmCfgOptsZ) which is what
+ runCmmContFlowOptZs does. Tidy up!
+
+
+ - AsmCodeGen has a generic Cmm optimiser; move this into new pipeline
+
+ - AsmCodeGen has post-native-cg branch elimiator (shortCutBranches);
+ we ultimately want to share this with the Cmm branch eliminator.
+
+ - At the moment, references to global registers like Hp are "lowered"
+ late (in AsmCodeGen.fixAssignTop and cmmToCmm). We should do this
+ early, in the new native codegen, much in the way that we lower
+ calling conventions. Might need to be a bit sophisticated about
+ aliasing.
+
- Refactor Cmm so that it contains only shared stuff
Add a module MoribundCmm which contains stuff from
Cmm for old code gen path