diff options
Diffstat (limited to 'compiler/cmm/CmmNode.hs')
-rw-r--r-- | compiler/cmm/CmmNode.hs | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/compiler/cmm/CmmNode.hs b/compiler/cmm/CmmNode.hs index f5a88cebb8..e9b84b568a 100644 --- a/compiler/cmm/CmmNode.hs +++ b/compiler/cmm/CmmNode.hs @@ -7,16 +7,14 @@ {-# OPTIONS_GHC -fwarn-incomplete-patterns #-} #endif -module CmmNode - ( CmmNode(..) - , UpdFrameOffset, Convention(..), ForeignConvention(..), ForeignTarget(..) - , mapExp, mapExpDeep, wrapRecExp, foldExp, foldExpDeep, wrapRecExpf - , mapExpM, mapExpDeepM, wrapRecExpM - ) -where +module CmmNode ( + CmmNode(..), ForeignHint(..), CmmFormal, CmmActual, + UpdFrameOffset, Convention(..), ForeignConvention(..), ForeignTarget(..), + mapExp, mapExpDeep, wrapRecExp, foldExp, foldExpDeep, wrapRecExpf, + mapExpM, mapExpDeepM, wrapRecExpM + ) where import CmmExpr -import CmmDecl import FastString import ForeignCall import SMRep @@ -200,6 +198,9 @@ instance HooplNode CmmNode where -------------------------------------------------- -- Various helper types +type CmmActual = CmmExpr +type CmmFormal = LocalReg + type UpdFrameOffset = ByteOff data Convention @@ -235,6 +236,12 @@ data ForeignTarget -- The target of a foreign call CallishMachOp -- Which one deriving Eq +data ForeignHint + = NoHint | AddrHint | SignedHint + deriving( Eq ) + -- Used to give extra per-argument or per-result + -- information needed by foreign calling conventions + -------------------------------------------------- -- Instances of register and slot users / definers |