X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FnativeGen%2FPprMach.hs;h=6a7226588e6633d9d4fe0b6e06e7bd38d68d2913;hb=7331582b8f67e005cbb839248eff492127f9bcbe;hp=52d770649fa84a61aa5df2dad9a7d08db925fc5c;hpb=b3cb534bf6da5d2e3b0084defd838492684052a9;p=ghc-hetmet.git diff --git a/compiler/nativeGen/PprMach.hs b/compiler/nativeGen/PprMach.hs index 52d7706..6a72265 100644 --- a/compiler/nativeGen/PprMach.hs +++ b/compiler/nativeGen/PprMach.hs @@ -13,8 +13,8 @@ #include "nativeGen/NCG.h" module PprMach ( - pprNatCmmTop, pprBasicBlock, - pprInstr, pprSize, pprUserReg, + pprNatCmmTop, pprBasicBlock, pprSectionHeader, pprData, + pprInstr, pprSize, pprUserReg ) where @@ -36,6 +36,7 @@ import Unique ( pprUnique ) import Pretty import FastString import qualified Outputable +import Outputable ( Outputable ) import Data.Array.ST import Data.Word ( Word8 ) @@ -694,9 +695,13 @@ pprGloblDecl lbl pprTypeAndSizeDecl :: CLabel -> Doc pprTypeAndSizeDecl lbl +#if linux_TARGET_OS | not (externallyVisibleCLabel lbl) = empty | otherwise = ptext SLIT(".type ") <> pprCLabel_asm lbl <> ptext SLIT(", @object") +#else + = empty +#endif pprLabel :: CLabel -> Doc pprLabel lbl = pprGloblDecl lbl $$ pprTypeAndSizeDecl lbl $$ (pprCLabel_asm lbl <> char ':') @@ -794,6 +799,9 @@ pprDataItem lit -- ----------------------------------------------------------------------------- -- pprInstr: print an 'Instr' +instance Outputable Instr where + ppr instr = Outputable.docToSDoc $ pprInstr instr + pprInstr :: Instr -> Doc --pprInstr (COMMENT s) = empty -- nuke 'em @@ -1203,7 +1211,8 @@ pprSizeRegRegReg name size reg1 reg2 reg3 #if i386_TARGET_ARCH || x86_64_TARGET_ARCH -pprInstr v@(MOV size s@(OpReg src) d@(OpReg dst)) -- hack +{- -- BUGS: changed for coloring allocator +pprInstr v@(MOV size s@(OpReg src) d@(OpReg dst)) -- hack -- write a pass for this and patch linear allocator with it | src == dst = #if 0 /* #ifdef DEBUG */ @@ -1211,6 +1220,7 @@ pprInstr v@(MOV size s@(OpReg src) d@(OpReg dst)) -- hack #else empty #endif +-} pprInstr (MOV size src dst) = pprSizeOpOp SLIT("mov") size src dst