summaryrefslogtreecommitdiff
path: root/compiler/cmm/CmmMachOp.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/cmm/CmmMachOp.hs')
-rw-r--r--compiler/cmm/CmmMachOp.hs9
1 files changed, 8 insertions, 1 deletions
diff --git a/compiler/cmm/CmmMachOp.hs b/compiler/cmm/CmmMachOp.hs
index 520c7e7a7d..c00cdb5b5a 100644
--- a/compiler/cmm/CmmMachOp.hs
+++ b/compiler/cmm/CmmMachOp.hs
@@ -16,7 +16,7 @@ module CmmMachOp
, mo_32To8, mo_32To16, mo_WordTo8, mo_WordTo16, mo_WordTo32, mo_WordTo64
-- CallishMachOp
- , CallishMachOp(..)
+ , CallishMachOp(..), callishMachOpHints
, pprCallishMachOp
)
where
@@ -463,3 +463,10 @@ data CallishMachOp
pprCallishMachOp :: CallishMachOp -> SDoc
pprCallishMachOp mo = text (show mo)
+callishMachOpHints :: CallishMachOp -> ([ForeignHint], [ForeignHint])
+callishMachOpHints op = case op of
+ MO_Memcpy -> ([], [AddrHint,AddrHint,NoHint,NoHint])
+ MO_Memset -> ([], [AddrHint,NoHint,NoHint,NoHint])
+ MO_Memmove -> ([], [AddrHint,AddrHint,NoHint,NoHint])
+ _ -> ([],[])
+ -- empty lists indicate NoHint