diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2015-01-05 16:57:01 +0000 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2015-01-05 17:00:05 +0000 |
commit | 0b3f53fb8d86278ead96ea08bedd8990d3256dc4 (patch) | |
tree | d3ae62380f95ab44b711a4d4a7b8eb9630746069 /compiler/nativeGen | |
parent | d6c8da69ed75f0a046bfcf779e71a4ecd2dab106 (diff) | |
download | haskell-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.hs | 9 | ||||
-rw-r--r-- | compiler/nativeGen/RegAlloc/Linear/Main.hs | 4 | ||||
-rw-r--r-- | compiler/nativeGen/SPARC/Base.hs | 2 |
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;" ++ |