summaryrefslogtreecommitdiff
path: root/compiler/nativeGen
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-05 17:00:05 +0000
commit0b3f53fb8d86278ead96ea08bedd8990d3256dc4 (patch)
treed3ae62380f95ab44b711a4d4a7b8eb9630746069 /compiler/nativeGen
parentd6c8da69ed75f0a046bfcf779e71a4ecd2dab106 (diff)
downloadhaskell-wip/redundant-constraints.tar.gz
Remove redundant constraints in the compiler itself, found by -fwarn-redundant-constraintswip/redundant-constraints
Diffstat (limited to 'compiler/nativeGen')
-rw-r--r--compiler/nativeGen/RegAlloc/Graph/SpillClean.hs9
-rw-r--r--compiler/nativeGen/RegAlloc/Linear/Main.hs4
-rw-r--r--compiler/nativeGen/SPARC/Base.hs2
3 files changed, 6 insertions, 9 deletions
diff --git a/compiler/nativeGen/RegAlloc/Graph/SpillClean.hs b/compiler/nativeGen/RegAlloc/Graph/SpillClean.hs
index a81d76dd8d..5633ab68b2 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
@@ -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
diff --git a/compiler/nativeGen/SPARC/Base.hs b/compiler/nativeGen/SPARC/Base.hs
index 96fb5e7797..a57d5e1c9a 100644
--- a/compiler/nativeGen/SPARC/Base.hs
+++ b/compiler/nativeGen/SPARC/Base.hs
@@ -66,7 +66,7 @@ is32BitInteger i
-- | Sadness.
-largeOffsetError :: (Integral a, Show a) => a -> b
+largeOffsetError :: (Show a) => a -> b
largeOffsetError i
= panic ("ERROR: SPARC native-code generator cannot handle large offset ("
++ show i ++ ");\nprobably because of large constant data structures;" ++