diff options
author | Simon Marlow <marlowsd@gmail.com> | 2012-02-19 13:04:37 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2012-02-19 13:04:37 +0000 |
commit | 13875c61d0dfef31ce0b1914d82c316531c27a67 (patch) | |
tree | aeaf748cf55937537780b211ff393477503a487c /compiler/cmm/cmm-notes | |
parent | 8071691488802dbe5e67b5a47206f564a2d0bcbf (diff) | |
parent | 86a00474ef649f45e3abe3e1b42d51f04e7a5ee9 (diff) | |
download | haskell-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-notes | 17 |
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.
|