summaryrefslogtreecommitdiff
path: root/compiler/cmm/CmmSpillReload.hs
diff options
context:
space:
mode:
authorEdward Z. Yang <ezyang@mit.edu>2011-06-10 17:14:31 +0100
committerEdward Z. Yang <ezyang@mit.edu>2011-06-13 14:59:29 +0100
commitf1fc7698ef9997f950be8cb37c9b30dadbb4b631 (patch)
tree8809b2d29ab8fb8be9e09928551d8e0fdfc4647c /compiler/cmm/CmmSpillReload.hs
parent3bb66cc52ced70cd7081fb8a2e32a1005528d5a0 (diff)
downloadhaskell-f1fc7698ef9997f950be8cb37c9b30dadbb4b631.tar.gz
Extra comment about WithRegUsage.
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
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