summaryrefslogtreecommitdiff
path: root/compiler/cmm/CmmSpillReload.hs
diff options
context:
space:
mode:
authorDavid Waern <david.waern@gmail.com>2011-06-13 19:02:56 +0000
committerDavid Waern <david.waern@gmail.com>2011-06-13 19:02:56 +0000
commitc217a75cf49d555228dfef43f4af0b8d23bd80e7 (patch)
tree06f2ec255c4f0429b2058cbc167f9017a0074159 /compiler/cmm/CmmSpillReload.hs
parenta14dbda0655025e2a9a9929147075282c1795dfd (diff)
parent5b1053897fa16ced293e749447e9c027d15d29f5 (diff)
downloadhaskell-c217a75cf49d555228dfef43f4af0b8d23bd80e7.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