summaryrefslogtreecommitdiff
path: root/compiler/GHC/CmmToAsm
diff options
context:
space:
mode:
authorSebastian Graf <sebastian.graf@kit.edu>2020-07-03 18:32:36 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-09-02 15:54:55 -0400
commitbfab2a30be5cc68e7914c3f6bb9ae4ad33283ffc (patch)
tree9a8bd4f265617bd9af4a2dbe588664965b0b31c3 /compiler/GHC/CmmToAsm
parentb4edcde70160820dd23c53d9019f895930e2c0e7 (diff)
downloadhaskell-bfab2a30be5cc68e7914c3f6bb9ae4ad33283ffc.tar.gz
Turn on -XMonoLocalBinds by default (#18430)
And fix the resulting type errors. Co-authored-by: Krzysztof Gogolewski <krz.gogolewski@gmail.com> Metric Decrease: parsing001
Diffstat (limited to 'compiler/GHC/CmmToAsm')
-rw-r--r--compiler/GHC/CmmToAsm/Reg/Linear.hs5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/GHC/CmmToAsm/Reg/Linear.hs b/compiler/GHC/CmmToAsm/Reg/Linear.hs
index 8d4da4bd2e..34e5e71205 100644
--- a/compiler/GHC/CmmToAsm/Reg/Linear.hs
+++ b/compiler/GHC/CmmToAsm/Reg/Linear.hs
@@ -205,7 +205,7 @@ regAlloc _ (CmmProc _ _ _ _)
-- an entry in the block map or it is the first block.
--
linearRegAlloc
- :: Instruction instr
+ :: forall instr. Instruction instr
=> NCGConfig
-> [BlockId] -- ^ entry points
-> BlockMap RegSet
@@ -231,6 +231,8 @@ linearRegAlloc config entry_ids block_live sccs
ArchJavaScript -> panic "linearRegAlloc ArchJavaScript"
ArchUnknown -> panic "linearRegAlloc ArchUnknown"
where
+ go :: (FR regs, Outputable regs)
+ => regs -> UniqSM ([NatBasicBlock instr], RegAllocStats, Int)
go f = linearRegAlloc' config f entry_ids block_live sccs
platform = ncgPlatform config
@@ -973,4 +975,3 @@ loadTemp vreg (ReadMem slot) hreg spills
loadTemp _ _ _ spills =
return spills
-