summaryrefslogtreecommitdiff
path: root/compiler/cmm/CmmSpillReload.hs
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2011-06-13 22:41:19 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2011-06-13 22:41:19 +0100
commitf13f9fca8444da225443aea190e8659b96954ae9 (patch)
tree2ea559577e2ef3508d4567be6f1c524416da35e8 /compiler/cmm/CmmSpillReload.hs
parent735519b465ba75a5d254848fb7f100bdaea89aa9 (diff)
parentda15d0c556df3eacc6b37327ddffffea306b3760 (diff)
downloadhaskell-f13f9fca8444da225443aea190e8659b96954ae9.tar.gz
Merge branch 'master' of http://darcs.haskell.org/ghc
Diffstat (limited to 'compiler/cmm/CmmSpillReload.hs')
-rw-r--r--compiler/cmm/CmmSpillReload.hs4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/cmm/CmmSpillReload.hs b/compiler/cmm/CmmSpillReload.hs
index 2dcfb027a3..4f24238638 100644
--- a/compiler/cmm/CmmSpillReload.hs
+++ b/compiler/cmm/CmmSpillReload.hs
@@ -289,6 +289,10 @@ boundedOrdLattice n = DataflowLattice n minBound f
-- Custom node type we'll rewrite to. CmmAssign nodes to local
-- registers are replaced with AssignLocal nodes.
data WithRegUsage n e x where
+ -- Plain will not contain CmmAssign nodes immediately after
+ -- transformation, but as we rewrite assignments, we may have
+ -- assignments here: these are assignments that should not be
+ -- rewritten!
Plain :: n e x -> WithRegUsage n e x
AssignLocal :: LocalReg -> CmmExpr -> RegUsage -> WithRegUsage n O O