summaryrefslogtreecommitdiff
path: root/compiler/cmm/cmm-notes
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2012-02-19 13:04:37 +0000
committerSimon Marlow <marlowsd@gmail.com>2012-02-19 13:04:37 +0000
commit13875c61d0dfef31ce0b1914d82c316531c27a67 (patch)
treeaeaf748cf55937537780b211ff393477503a487c /compiler/cmm/cmm-notes
parent8071691488802dbe5e67b5a47206f564a2d0bcbf (diff)
parent86a00474ef649f45e3abe3e1b42d51f04e7a5ee9 (diff)
downloadhaskell-13875c61d0dfef31ce0b1914d82c316531c27a67.tar.gz
Merge branch 'newcg' of /home/simonmar/code-all/work/ghc-newcg into newcg
Diffstat (limited to 'compiler/cmm/cmm-notes')
-rw-r--r--compiler/cmm/cmm-notes17
1 files changed, 0 insertions, 17 deletions
diff --git a/compiler/cmm/cmm-notes b/compiler/cmm/cmm-notes
index 9df5cb01c7..0e6a2341f2 100644
--- a/compiler/cmm/cmm-notes
+++ b/compiler/cmm/cmm-notes
@@ -24,27 +24,10 @@ More notes (June 11)
* Check in ClosureInfo:
-- NB: Results here should line up with the results of SMRep.rtsClosureType
-* Possible refactoring: Nuke AGraph in favour of
- mkIfThenElse :: Expr -> Graph -> Graph -> FCode Graph
- or even
- mkIfThenElse :: HasUniques m => Expr -> Graph -> Graph -> m Graph
- (Remmber that the .cmm file parser must use this function)
-
- or parameterise FCode over its envt; the CgState part seem useful for both
-
* "Remove redundant reloads" in CmmSpillReload should be redundant; since
insertLateReloads is now gone, every reload is reloading a live variable.
Test and nuke.
-* Stack layout is very like register assignment: find non-conflicting assigments.
- In particular we can use colouring or linear scan (etc).
-
- We'd fine-grain interference (on a word by word basis) to get maximum overlap.
- But that may make very big interference graphs. So linear scan might be
- more attactive.
-
- NB: linear scan does on-the-fly live range splitting.
-
* When stubbing dead slots be careful not to write into an area that
overlaps with an area that's in use. So stubbing needs to *follow*
stack layout.