X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fcmm%2FPprC.hs;h=1a909f26d3c4900c20fb2edc39eb232436e62e11;hb=bf2f000a552e025ec156010d52aee282bdfcf7a4;hp=817e82bfefc7f49f333890f6f826eb9aef898fbf;hpb=affbe8dae5d7eb350686b42ddbd4f3561b7bd0ec;p=ghc-hetmet.git diff --git a/compiler/cmm/PprC.hs b/compiler/cmm/PprC.hs index 817e82b..1a909f2 100644 --- a/compiler/cmm/PprC.hs +++ b/compiler/cmm/PprC.hs @@ -66,7 +66,7 @@ import StaticFlags ( opt_Unregisterised ) -- -------------------------------------------------------------------------- -- Top level -pprCs :: DynFlags -> [Cmm] -> SDoc +pprCs :: DynFlags -> [RawCmm] -> SDoc pprCs dflags cmms = pprCode CStyle (vcat $ map (\c -> split_marker $$ pprC c) cmms) where @@ -74,7 +74,7 @@ pprCs dflags cmms | dopt Opt_SplitObjs dflags = ptext SLIT("__STG_SPLIT_MARKER") | otherwise = empty -writeCs :: DynFlags -> Handle -> [Cmm] -> IO () +writeCs :: DynFlags -> Handle -> [RawCmm] -> IO () writeCs dflags handle cmms = printForC handle (pprCs dflags cmms) @@ -84,13 +84,13 @@ writeCs dflags handle cmms -- for fun, we could call cmmToCmm over the tops... -- -pprC :: Cmm -> SDoc +pprC :: RawCmm -> SDoc pprC (Cmm tops) = vcat $ intersperse (text "") $ map pprTop tops -- -- top level procs -- -pprTop :: CmmTop -> SDoc +pprTop :: RawCmmTop -> SDoc pprTop (CmmProc info clbl _params blocks) = (if not (null info) then pprDataExterns info $$ @@ -199,11 +199,11 @@ pprStmt stmt = case stmt of where rep = cmmExprRep src - CmmCall (CmmForeignCall fn cconv) results args srt -> + CmmCall (CmmForeignCall fn cconv) results args safety -> -- Controversial: leave this out for now. -- pprUndef fn $$ - pprCall ppr_fn cconv results args srt + pprCall ppr_fn cconv results args safety where ppr_fn = case fn of CmmLit (CmmLabel lbl) -> pprCLabel lbl @@ -220,8 +220,8 @@ pprStmt stmt = case stmt of ptext SLIT("#undef") <+> pprCLabel lbl pprUndef _ = empty - CmmCall (CmmPrim op) results args srt -> - pprCall ppr_fn CCallConv results args srt + CmmCall (CmmPrim op) results args safety -> + pprCall ppr_fn CCallConv results args safety where ppr_fn = pprCallishMachOp_for_C op @@ -719,7 +719,7 @@ pprLocalReg (LocalReg uniq _ _) = char '_' <> ppr uniq -- ----------------------------------------------------------------------------- -- Foreign Calls -pprCall :: SDoc -> CCallConv -> CmmHintFormals -> CmmActuals -> C_SRT +pprCall :: SDoc -> CCallConv -> CmmHintFormals -> CmmActuals -> CmmSafety -> SDoc pprCall ppr_fn cconv results args _