X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fcmm%2FPprCmm.hs;h=4ade7a40284a358c77f8dbad3940f4089df36f11;hb=bd3a364da7956c269d31645995d0d775c52f6a84;hp=06d68c0eb538d79868c862aeeb21677ee34f3071;hpb=a20e8369c11f0f71444f2b849e47eaab6fff1315;p=ghc-hetmet.git diff --git a/compiler/cmm/PprCmm.hs b/compiler/cmm/PprCmm.hs index 06d68c0..4ade7a4 100644 --- a/compiler/cmm/PprCmm.hs +++ b/compiler/cmm/PprCmm.hs @@ -80,6 +80,9 @@ instance Outputable CmmExpr where instance Outputable CmmReg where ppr e = pprReg e +instance Outputable LocalReg where + ppr e = pprLocalReg e + instance Outputable GlobalReg where ppr e = pprGlobalReg e @@ -96,7 +99,7 @@ pprCmm (Cmm tops) = vcat $ intersperse (text "") $ map pprTop tops pprTop :: CmmTop -> SDoc pprTop (CmmProc info lbl params blocks ) - = vcat [ pprCLabel lbl <> parens (commafy $ map pprLocalReg params) <+> lbrace + = vcat [ pprCLabel lbl <> parens (commafy $ map ppr params) <+> lbrace , nest 8 $ pprInfo info lbl , nest 4 $ vcat (map ppr blocks) , rbrace ] @@ -147,7 +150,7 @@ pprStmt stmt = case stmt of -- call "ccall" foo(x, y)[r1, r2]; -- ToDo ppr volatile - CmmCall (CmmForeignCall fn cconv) results args _volatile -> + CmmCall (CmmForeignCall fn cconv) results args -> hcat [ ptext SLIT("call"), space, doubleQuotes(ppr cconv), space, target fn, parens ( commafy $ map ppr args ), @@ -158,9 +161,9 @@ pprStmt stmt = case stmt of target (CmmLit lit) = pprLit lit target fn' = parens (ppr fn') - CmmCall (CmmPrim op) results args volatile -> + CmmCall (CmmPrim op) results args -> pprStmt (CmmCall (CmmForeignCall (CmmLit lbl) CCallConv) - results args volatile) + results args) where lbl = CmmLabel (mkForeignLabel (mkFastString (show op)) Nothing False)