diff options
author | Simon Marlow <marlowsd@gmail.com> | 2012-07-12 11:14:57 +0100 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2012-07-17 09:30:53 +0100 |
commit | ebe7dc75ebc34c20356b92c70cfbad250dab46e3 (patch) | |
tree | a1f6b0311a8b74af3904eb3b45a4152fcfb3ec54 /compiler | |
parent | 73e8e5ade7d02d43f8dbbc34e1d81b1d06b8a835 (diff) | |
download | haskell-ebe7dc75ebc34c20356b92c70cfbad250dab46e3.tar.gz |
tidy up pretty-printing of CmmCall
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/cmm/PprCmm.hs | 13 |
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 |