projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make assignTemp_ less pessimistic
[ghc-hetmet.git]
/
compiler
/
nativeGen
/
PPC
/
Ppr.hs
diff --git
a/compiler/nativeGen/PPC/Ppr.hs
b/compiler/nativeGen/PPC/Ppr.hs
index
2d8f044
..
8d8b16a
100644
(file)
--- a/
compiler/nativeGen/PPC/Ppr.hs
+++ b/
compiler/nativeGen/PPC/Ppr.hs
@@
-12,7
+12,6
@@
module PPC.Ppr (
pprSectionHeader,
pprData,
pprInstr,
pprSectionHeader,
pprData,
pprInstr,
- pprUserReg,
pprSize,
pprImm,
pprDataItem,
pprSize,
pprImm,
pprDataItem,
@@
-33,12
+32,11
@@
import Reg
import RegClass
import TargetReg
import RegClass
import TargetReg
-import BlockId
-import Cmm
+import OldCmm
import CLabel
import CLabel
-import Unique ( pprUnique )
+import Unique ( pprUnique, Uniquable(..) )
import Pretty
import FastString
import qualified Outputable
import Pretty
import FastString
import qualified Outputable
@@
-56,9
+54,9
@@
pprNatCmmTop (CmmData section dats) =
pprSectionHeader section $$ vcat (map pprData dats)
-- special case for split markers:
pprSectionHeader section $$ vcat (map pprData dats)
-- special case for split markers:
-pprNatCmmTop (CmmProc [] lbl _ (ListGraph [])) = pprLabel lbl
+pprNatCmmTop (CmmProc [] lbl (ListGraph [])) = pprLabel lbl
-pprNatCmmTop (CmmProc info lbl _ (ListGraph blocks)) =
+pprNatCmmTop (CmmProc info lbl (ListGraph blocks)) =
pprSectionHeader Text $$
(if null info then -- blocks guaranteed not null, so label needed
pprLabel lbl
pprSectionHeader Text $$
(if null info then -- blocks guaranteed not null, so label needed
pprLabel lbl
@@
-90,8
+88,8
@@
pprNatCmmTop (CmmProc info lbl _ (ListGraph blocks)) =
pprBasicBlock :: NatBasicBlock Instr -> Doc
pprBasicBlock :: NatBasicBlock Instr -> Doc
-pprBasicBlock (BasicBlock (BlockId id) instrs) =
- pprLabel (mkAsmTempLabel id) $$
+pprBasicBlock (BasicBlock blockid instrs) =
+ pprLabel (mkAsmTempLabel (getUnique blockid)) $$
vcat (map pprInstr instrs)
vcat (map pprInstr instrs)
@@
-158,9
+156,6
@@
instance Outputable Instr where
ppr instr = Outputable.docToSDoc $ pprInstr instr
ppr instr = Outputable.docToSDoc $ pprInstr instr
-pprUserReg :: Reg -> Doc
-pprUserReg = pprReg
-
pprReg :: Reg -> Doc
pprReg r
pprReg :: Reg -> Doc
pprReg r
@@
-511,16
+506,16
@@
pprInstr (CMPL sz reg ri) = hcat [
RIReg _ -> empty
RIImm _ -> char 'i'
]
RIReg _ -> empty
RIImm _ -> char 'i'
]
-pprInstr (BCC cond (BlockId id)) = hcat [
+pprInstr (BCC cond blockid) = hcat [
char '\t',
ptext (sLit "b"),
pprCond cond,
char '\t',
pprCLabel_asm lbl
]
char '\t',
ptext (sLit "b"),
pprCond cond,
char '\t',
pprCLabel_asm lbl
]
- where lbl = mkAsmTempLabel id
+ where lbl = mkAsmTempLabel (getUnique blockid)
-pprInstr (BCCFAR cond (BlockId id)) = vcat [
+pprInstr (BCCFAR cond blockid) = vcat [
hcat [
ptext (sLit "\tb"),
pprCond (condNegate cond),
hcat [
ptext (sLit "\tb"),
pprCond (condNegate cond),
@@
-531,7
+526,7
@@
pprInstr (BCCFAR cond (BlockId id)) = vcat [
pprCLabel_asm lbl
]
]
pprCLabel_asm lbl
]
]
- where lbl = mkAsmTempLabel id
+ where lbl = mkAsmTempLabel (getUnique blockid)
pprInstr (JMP lbl) = hcat [ -- an alias for b that takes a CLabel
char '\t',
pprInstr (JMP lbl) = hcat [ -- an alias for b that takes a CLabel
char '\t',
@@
-546,7
+541,7
@@
pprInstr (MTCTR reg) = hcat [
char '\t',
pprReg reg
]
char '\t',
pprReg reg
]
-pprInstr (BCTR _) = hcat [
+pprInstr (BCTR _ _) = hcat [
char '\t',
ptext (sLit "bctr")
]
char '\t',
ptext (sLit "bctr")
]