summaryrefslogtreecommitdiff
path: root/compiler/nativeGen/RegAlloc
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2015-01-05 16:57:01 +0000
committerSimon Peyton Jones <simonpj@microsoft.com>2015-01-06 14:24:59 +0000
commit39337a6d97c853a88fa61d6b12a04eb8c2e5984f (patch)
tree0dd7051080041ee928429832122b9dd14add302c /compiler/nativeGen/RegAlloc
parent32973bf3c2f6fe00e01b44a63ac1904080466938 (diff)
downloadhaskell-39337a6d97c853a88fa61d6b12a04eb8c2e5984f.tar.gz
Remove redundant constraints in the compiler itself, found by -fwarn-redundant-constraints
Diffstat (limited to 'compiler/nativeGen/RegAlloc')
-rw-r--r--compiler/nativeGen/RegAlloc/Graph/SpillClean.hs11
-rw-r--r--compiler/nativeGen/RegAlloc/Linear/Main.hs4
2 files changed, 6 insertions, 9 deletions
diff --git a/compiler/nativeGen/RegAlloc/Graph/SpillClean.hs b/compiler/nativeGen/RegAlloc/Graph/SpillClean.hs
index a81d76dd8d..01ab3efff1 100644
--- a/compiler/nativeGen/RegAlloc/Graph/SpillClean.hs
+++ b/compiler/nativeGen/RegAlloc/Graph/SpillClean.hs
@@ -543,7 +543,7 @@ addAssoc a b m
-- | Delete all associations to a node.
-delAssoc :: (Outputable a, Uniquable a)
+delAssoc :: (Uniquable a)
=> a -> Assoc a -> Assoc a
delAssoc a m
@@ -566,7 +566,7 @@ delAssoc1 a b m
-- | Check if these two things are associated.
-elemAssoc :: (Outputable a, Uniquable a)
+elemAssoc :: (Uniquable a)
=> a -> a -> Assoc a -> Bool
elemAssoc a b m
@@ -574,7 +574,7 @@ elemAssoc a b m
-- | Find the refl. trans. closure of the association from this point.
-closeAssoc :: (Outputable a, Uniquable a)
+closeAssoc :: (Uniquable a)
=> a -> Assoc a -> UniqSet a
closeAssoc a assoc
@@ -604,10 +604,7 @@ closeAssoc a assoc
(unionUniqSets toVisit neighbors)
-- | Intersect two associations.
-intersectAssoc
- :: Uniquable a
- => Assoc a -> Assoc a -> Assoc a
-
+intersectAssoc :: Assoc a -> Assoc a -> Assoc a
intersectAssoc a b
= intersectUFM_C (intersectUniqSets) a b
diff --git a/compiler/nativeGen/RegAlloc/Linear/Main.hs b/compiler/nativeGen/RegAlloc/Linear/Main.hs
index d602d60d10..434c00f9b8 100644
--- a/compiler/nativeGen/RegAlloc/Linear/Main.hs
+++ b/compiler/nativeGen/RegAlloc/Linear/Main.hs
@@ -606,7 +606,7 @@ releaseRegs regs = do
--
saveClobberedTemps
- :: (Outputable instr, Instruction instr, FR freeRegs)
+ :: (Instruction instr, FR freeRegs)
=> [RealReg] -- real registers clobbered by this instruction
-> [Reg] -- registers which are no longer live after this insn
-> RegM freeRegs [instr] -- return: instructions to spill any temps that will
@@ -873,7 +873,7 @@ newLocation _ my_reg = InReg my_reg
-- | Load up a spilled temporary if we need to (read from memory).
loadTemp
- :: (Outputable instr, Instruction instr)
+ :: (Instruction instr)
=> VirtualReg -- the temp being loaded
-> SpillLoc -- the current location of this temp
-> RealReg -- the hreg to load the temp into