projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix Trac #959: a long-standing bug in instantiating otherwise-unbound type variables
[ghc-hetmet.git]
/
compiler
/
nativeGen
/
RegAlloc
/
Graph
/
SpillClean.hs
diff --git
a/compiler/nativeGen/RegAlloc/Graph/SpillClean.hs
b/compiler/nativeGen/RegAlloc/Graph/SpillClean.hs
index
b7b7475
..
15fbb59
100644
(file)
--- a/
compiler/nativeGen/RegAlloc/Graph/SpillClean.hs
+++ b/
compiler/nativeGen/RegAlloc/Graph/SpillClean.hs
@@
-436,15
+436,15
@@
isStoreReg ss
instance Uniquable Store where
getUnique (SReg r)
| RegReal (RealRegSingle i) <- r
instance Uniquable Store where
getUnique (SReg r)
| RegReal (RealRegSingle i) <- r
- = mkUnique 'R' i
+ = mkRegSingleUnique i
| RegReal (RealRegPair r1 r2) <- r
| RegReal (RealRegPair r1 r2) <- r
- = mkUnique 'P' (r1 * 65535 + r2)
+ = mkRegPairUnique (r1 * 65535 + r2)
| otherwise
= error "RegSpillClean.getUnique: found virtual reg during spill clean, only real regs expected."
| otherwise
= error "RegSpillClean.getUnique: found virtual reg during spill clean, only real regs expected."
- getUnique (SSlot i) = mkUnique 'S' i
+ getUnique (SSlot i) = mkRegSubUnique i -- [SLPJ] I hope "SubUnique" is ok
instance Outputable Store where
ppr (SSlot i) = text "slot" <> int i
instance Outputable Store where
ppr (SSlot i) = text "slot" <> int i