summaryrefslogtreecommitdiff
path: root/compiler/cmm
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2012-07-12 11:14:57 +0100
committerSimon Marlow <marlowsd@gmail.com>2012-07-17 09:30:53 +0100
commitebe7dc75ebc34c20356b92c70cfbad250dab46e3 (patch)
treea1f6b0311a8b74af3904eb3b45a4152fcfb3ec54 /compiler/cmm
parent73e8e5ade7d02d43f8dbbc34e1d81b1d06b8a835 (diff)
downloadhaskell-ebe7dc75ebc34c20356b92c70cfbad250dab46e3.tar.gz
tidy up pretty-printing of CmmCall
Diffstat (limited to 'compiler/cmm')
-rw-r--r--compiler/cmm/PprCmm.hs13
1 files changed, 9 insertions, 4 deletions
diff --git a/compiler/cmm/PprCmm.hs b/compiler/cmm/PprCmm.hs
index 9717eea179..089508b2bc 100644
--- a/compiler/cmm/PprCmm.hs
+++ b/compiler/cmm/PprCmm.hs
@@ -230,13 +230,18 @@ pprNode node = pp_node <+> pp_debug
CmmCall tgt k regs out res updfr_off ->
hcat [ ptext (sLit "call"), space
, pprFun tgt, parens (interpp'SP regs), space
- , ptext (sLit "returns to") <+> ppr k <+> parens (ppr out)
- <+> parens (ppr res)
- , ptext (sLit " with update frame") <+> ppr updfr_off
+ , returns <+>
+ ptext (sLit "args: ") <> ppr out <> comma <+>
+ ptext (sLit "res: ") <> ppr res <> comma <+>
+ ptext (sLit "upd: ") <> ppr updfr_off
, semi ]
where pprFun f@(CmmLit _) = ppr f
pprFun f = parens (ppr f)
+ returns
+ | Just r <- k = ptext (sLit "returns to") <+> ppr r <> comma
+ | otherwise = empty
+
CmmForeignCall {tgt=t, res=rs, args=as, succ=s, updfr=u, intrbl=i} ->
hcat $ if i then [ptext (sLit "interruptible"), space] else [] ++
[ ptext (sLit "foreign call"), space
@@ -244,7 +249,7 @@ pprNode node = pp_node <+> pp_debug
, ptext (sLit "returns to") <+> ppr s
<+> ptext (sLit "args:") <+> parens (ppr as)
<+> ptext (sLit "ress:") <+> parens (ppr rs)
- , ptext (sLit " with update frame") <+> ppr u
+ , ptext (sLit "upd:") <+> ppr u
, semi ]
pp_debug :: SDoc