X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fcmm%2FPprCmm.hs;h=a9df2b930331cb60dbe04cfab3a8f4c7e968c1e7;hb=7fc01c4671980ea3c66d549c0ece4d82fd3f5ade;hp=d8d34c32c2e1b9396b7da5f100d89913a73a479c;hpb=f96194794bf099020706c3816d1a5678b40addbb;p=ghc-hetmet.git diff --git a/compiler/cmm/PprCmm.hs b/compiler/cmm/PprCmm.hs index d8d34c3..a9df2b9 100644 --- a/compiler/cmm/PprCmm.hs +++ b/compiler/cmm/PprCmm.hs @@ -265,6 +265,8 @@ pprStmt stmt = case stmt of pp_lhs | null results = empty | otherwise = commafy (map ppr_ar results) <+> equals -- Don't print the hints on a native C-- call + + ppr_ar :: Outputable a => CmmHinted a -> SDoc ppr_ar (CmmHinted ar k) = case cconv of CmmCallConv -> ppr ar _ -> ppr (ar,k) @@ -272,11 +274,16 @@ pprStmt stmt = case stmt of CmmCallConv -> empty _ -> ptext (sLit("foreign")) <+> doubleQuotes (ppr cconv) + -- Call a CallishMachOp, like sin or cos that might be implemented as a library call. CmmCall (CmmPrim op) results args safety ret -> pprStmt (CmmCall (CmmCallee (CmmLit lbl) CCallConv) results args safety ret) where - lbl = CmmLabel (mkForeignLabel (mkFastString (show op)) Nothing False IsFunction) + -- HACK: A CallishMachOp doesn't really correspond to a ForeignLabel, but we + -- use one to get the label printed. + lbl = CmmLabel (mkForeignLabel + (mkFastString (show op)) + Nothing ForeignLabelInThisPackage IsFunction) CmmBranch ident -> genBranch ident CmmCondBranch expr ident -> genCondBranch expr ident