From daa2d5e3f2347677dea54d2b6853e8832132f6a8 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Thu, 15 Mar 2012 13:07:57 +0000 Subject: a bit more UNPACKing --- compiler/cmm/CmmExpr.hs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'compiler/cmm/CmmExpr.hs') diff --git a/compiler/cmm/CmmExpr.hs b/compiler/cmm/CmmExpr.hs index 1a9382d5eb..3b6fec6925 100644 --- a/compiler/cmm/CmmExpr.hs +++ b/compiler/cmm/CmmExpr.hs @@ -43,10 +43,11 @@ import qualified Data.Set as Set data CmmExpr = CmmLit CmmLit -- Literal - | CmmLoad !CmmExpr !CmmType -- Read memory location + | CmmLoad !CmmExpr !CmmType -- Read memory location | CmmReg !CmmReg -- Contents of register | CmmMachOp MachOp [CmmExpr] -- Machine operation (+, -, *, etc.) - | CmmStackSlot Area Int -- addressing expression of a stack slot + | CmmStackSlot Area {-# UNPACK #-} !Int + -- addressing expression of a stack slot | CmmRegOff !CmmReg Int -- CmmRegOff reg i -- ** is shorthand only, meaning ** @@ -71,7 +72,7 @@ data CmmReg -- or the stack space where function arguments and results are passed. data Area = Old -- See Note [Old Area] - | Young BlockId -- Invariant: must be a continuation BlockId + | Young {-# UNPACK #-} !BlockId -- Invariant: must be a continuation BlockId -- See Note [Continuation BlockId] in CmmNode. deriving (Eq, Ord) @@ -111,7 +112,7 @@ data CmmLit -- position-independent code. | CmmLabelDiffOff CLabel CLabel Int -- label1 - label2 + offset - | CmmBlock BlockId -- Code label + | CmmBlock {-# UNPACK #-} !BlockId -- Code label -- Invariant: must be a continuation BlockId -- See Note [Continuation BlockId] in CmmNode. -- cgit v1.2.1