X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fcmm%2FPprCmm.hs;h=470b325a6485ac7a0a08e29ef23de2bb510cb30d;hb=b822c1e46cd64d1dba23fbab0f775b731bf0f12b;hp=c31c4de6e255a3358f27427170f5e63a19970fc4;hpb=16a2f6a8a381af31c23b6a41a851951da9bc1803;p=ghc-hetmet.git diff --git a/compiler/cmm/PprCmm.hs b/compiler/cmm/PprCmm.hs index c31c4de..470b325 100644 --- a/compiler/cmm/PprCmm.hs +++ b/compiler/cmm/PprCmm.hs @@ -40,7 +40,7 @@ -- module PprCmm - ( writeCmms, pprCmms, pprCmm, pprStmt, pprExpr, pprSection, pprStatic + ( writeCmms, pprCmms, pprCmm, pprStmt, pprExpr, pprSection, pprStatic, pprLit ) where @@ -295,9 +295,15 @@ genJump expr args = CmmLoad (CmmReg _) _ -> pprExpr expr _ -> parens (pprExpr expr) , space - , parens ( commafy $ map ppr args ) + , parens ( commafy $ map pprHinted args ) , semi ] +pprHinted :: Outputable a => (a, MachHint) -> SDoc +pprHinted (a, NoHint) = ppr a +pprHinted (a, PtrHint) = quotes(text "address") <+> ppr a +pprHinted (a, SignedHint) = quotes(text "signed") <+> ppr a +pprHinted (a, FloatHint) = quotes(text "float") <+> ppr a + -- -------------------------------------------------------------------------- -- Return from a function. [1], Section 6.8.2 of version 1.128 -- @@ -512,10 +518,10 @@ pprReg r pprLocalReg :: LocalReg -> SDoc pprLocalReg (LocalReg uniq rep follow) = hcat [ char '_', ppr uniq, ty ] where - ty = if rep == wordRep && follow == KindNonPtr + ty = if rep == wordRep && follow == GCKindNonPtr then empty else dcolon <> ptr <> ppr rep - ptr = if follow == KindNonPtr + ptr = if follow == GCKindNonPtr then empty else doubleQuotes (text "ptr") @@ -566,4 +572,3 @@ pprBlockId b = ppr $ getUnique b commafy :: [SDoc] -> SDoc commafy xs = hsep $ punctuate comma xs -