summaryrefslogtreecommitdiff
path: root/compiler/cmm/OldPprCmm.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/cmm/OldPprCmm.hs')
-rw-r--r--compiler/cmm/OldPprCmm.hs61
1 files changed, 28 insertions, 33 deletions
diff --git a/compiler/cmm/OldPprCmm.hs b/compiler/cmm/OldPprCmm.hs
index 19b913853c..d6a12221fb 100644
--- a/compiler/cmm/OldPprCmm.hs
+++ b/compiler/cmm/OldPprCmm.hs
@@ -48,7 +48,6 @@ import PprCmmExpr
import BasicTypes
import ForeignCall
import Outputable
-import Platform
import FastString
import Data.List
@@ -62,10 +61,10 @@ instance Outputable instr => Outputable (GenBasicBlock instr) where
ppr = pprBBlock
instance Outputable CmmStmt where
- ppr s = sdocWithPlatform $ \platform -> pprStmt platform s
+ ppr s = pprStmt s
instance Outputable CmmInfo where
- ppr i = sdocWithPlatform $ \platform -> pprInfo platform i
+ ppr i = pprInfo i
-- --------------------------------------------------------------------------
@@ -81,14 +80,12 @@ instance Outputable CmmSafety where
-- For ideas on how to refine it, they used to be printed in the
-- style of C--'s 'stackdata' declaration, just inside the proc body,
-- and were labelled with the procedure name ++ "_info".
-pprInfo :: Platform -> CmmInfo -> SDoc
-pprInfo platform (CmmInfo _gc_target update_frame info_table) =
+pprInfo :: CmmInfo -> SDoc
+pprInfo (CmmInfo _gc_target update_frame info_table) =
vcat [{-ptext (sLit "gc_target: ") <>
maybe (ptext (sLit "<none>")) ppr gc_target,-}
ptext (sLit "update_frame: ") <>
- maybe (ptext (sLit "<none>"))
- (pprUpdateFrame platform)
- update_frame,
+ maybe (ptext (sLit "<none>")) pprUpdateFrame update_frame,
ppr info_table]
-- --------------------------------------------------------------------------
@@ -101,8 +98,8 @@ pprBBlock (BasicBlock ident stmts) =
-- --------------------------------------------------------------------------
-- Statements. C-- usually, exceptions to this should be obvious.
--
-pprStmt :: Platform -> CmmStmt -> SDoc
-pprStmt platform stmt = case stmt of
+pprStmt :: CmmStmt -> SDoc
+pprStmt stmt = case stmt of
-- ;
CmmNop -> semi
@@ -122,7 +119,7 @@ pprStmt platform stmt = case stmt of
-- ToDo ppr volatile
CmmCall (CmmCallee fn cconv) results args ret ->
sep [ pp_lhs <+> pp_conv
- , nest 2 (pprExpr9 platform fn <>
+ , nest 2 (pprExpr9 fn <>
parens (commafy (map ppr_ar args)))
, case ret of CmmMayReturn -> empty
CmmNeverReturns -> ptext $ sLit (" never returns")
@@ -140,8 +137,7 @@ pprStmt platform stmt = case stmt of
-- Call a CallishMachOp, like sin or cos that might be implemented as a library call.
CmmCall (CmmPrim op _) results args ret ->
- pprStmt platform (CmmCall (CmmCallee (CmmLit lbl) CCallConv)
- results args ret)
+ pprStmt (CmmCall (CmmCallee (CmmLit lbl) CCallConv) results args ret)
where
-- HACK: A CallishMachOp doesn't really correspond to a ForeignLabel, but we
-- use one to get the label printed.
@@ -151,24 +147,24 @@ pprStmt platform stmt = case stmt of
CmmBranch ident -> genBranch ident
CmmCondBranch expr ident -> genCondBranch expr ident
- CmmJump expr live -> genJump platform expr live
- CmmReturn -> genReturn platform
- CmmSwitch arg ids -> genSwitch platform arg ids
+ CmmJump expr live -> genJump expr live
+ CmmReturn -> genReturn
+ CmmSwitch arg ids -> genSwitch arg ids
-- Just look like a tuple, since it was a tuple before
-- ... is that a good idea? --Isaac Dupree
instance (Outputable a) => Outputable (CmmHinted a) where
ppr (CmmHinted a k) = ppr (a, k)
-pprUpdateFrame :: Platform -> UpdateFrame -> SDoc
-pprUpdateFrame platform (UpdateFrame expr args) =
+pprUpdateFrame :: UpdateFrame -> SDoc
+pprUpdateFrame (UpdateFrame expr args) =
hcat [ ptext (sLit "jump")
, space
, if isTrivialCmmExpr expr
- then pprExpr platform expr
+ then pprExpr expr
else case expr of
- CmmLoad (CmmReg _) _ -> pprExpr platform expr
- _ -> parens (pprExpr platform expr)
+ CmmLoad (CmmReg _) _ -> pprExpr expr
+ _ -> parens (pprExpr expr)
, space
, parens ( commafy $ map ppr args ) ]
@@ -198,15 +194,15 @@ genCondBranch expr ident =
--
-- jump foo(a, b, c);
--
-genJump :: Platform -> CmmExpr -> Maybe [GlobalReg] -> SDoc
-genJump platform expr live =
+genJump :: CmmExpr -> Maybe [GlobalReg] -> SDoc
+genJump expr live =
hcat [ ptext (sLit "jump")
, space
, if isTrivialCmmExpr expr
- then pprExpr platform expr
+ then pprExpr expr
else case expr of
- CmmLoad (CmmReg _) _ -> pprExpr platform expr
- _ -> parens (pprExpr platform expr)
+ CmmLoad (CmmReg _) _ -> pprExpr expr
+ _ -> parens (pprExpr expr)
, semi <+> ptext (sLit "// ")
, maybe empty ppr live]
@@ -215,9 +211,8 @@ genJump platform expr live =
--
-- return (a, b, c);
--
-genReturn :: Platform -> SDoc
-genReturn _ =
- hcat [ ptext (sLit "return") , semi ]
+genReturn :: SDoc
+genReturn = hcat [ ptext (sLit "return") , semi ]
-- --------------------------------------------------------------------------
-- Tabled jump to local label
@@ -226,8 +221,8 @@ genReturn _ =
--
-- switch [0 .. n] (expr) { case ... ; }
--
-genSwitch :: Platform -> CmmExpr -> [Maybe BlockId] -> SDoc
-genSwitch platform expr maybe_ids
+genSwitch :: CmmExpr -> [Maybe BlockId] -> SDoc
+genSwitch expr maybe_ids
= let pairs = groupBy snds (zip [0 .. ] maybe_ids )
@@ -235,8 +230,8 @@ genSwitch platform expr maybe_ids
, int (length maybe_ids - 1)
, ptext (sLit "] ")
, if isTrivialCmmExpr expr
- then pprExpr platform expr
- else parens (pprExpr platform expr)
+ then pprExpr expr
+ else parens (pprExpr expr)
, ptext (sLit " {")
])
4 (vcat ( map caseify pairs )) $$ rbrace