summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSylvain Henry <sylvain@haskus.fr>2020-09-02 16:26:01 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-09-04 16:24:59 -0400
commit220ad8d67af345cf3decf82ff26c1e696d21ac93 (patch)
tree4d88afe3ece3f8e0c168b165a15c5e6ea7322a95
parent89ce7cdf977304cb7d0f325a013f822600c1bfbf (diff)
downloadhaskell-220ad8d67af345cf3decf82ff26c1e696d21ac93.tar.gz
DynFlags: don't pass DynFlags to cmmImplementSwitchPlans
-rw-r--r--compiler/GHC/Cmm/Pipeline.hs2
-rw-r--r--compiler/GHC/Cmm/Switch/Implement.hs10
2 files changed, 6 insertions, 6 deletions
diff --git a/compiler/GHC/Cmm/Pipeline.hs b/compiler/GHC/Cmm/Pipeline.hs
index 1335159a40..f213a28cfe 100644
--- a/compiler/GHC/Cmm/Pipeline.hs
+++ b/compiler/GHC/Cmm/Pipeline.hs
@@ -86,7 +86,7 @@ cpsTop dflags proc =
----------- Implement switches ------------------------------------------
g <- {-# SCC "createSwitchPlans" #-}
- runUniqSM $ cmmImplementSwitchPlans dflags g
+ runUniqSM $ cmmImplementSwitchPlans (backend dflags) platform g
dump Opt_D_dump_cmm_switch "Post switch plan" g
----------- Proc points -------------------------------------------------
diff --git a/compiler/GHC/Cmm/Switch/Implement.hs b/compiler/GHC/Cmm/Switch/Implement.hs
index a91809e585..bc132a2efc 100644
--- a/compiler/GHC/Cmm/Switch/Implement.hs
+++ b/compiler/GHC/Cmm/Switch/Implement.hs
@@ -6,6 +6,7 @@ where
import GHC.Prelude
+import GHC.Driver.Backend
import GHC.Platform
import GHC.Cmm.Dataflow.Block
import GHC.Cmm.BlockId
@@ -13,7 +14,6 @@ import GHC.Cmm
import GHC.Cmm.Utils
import GHC.Cmm.Switch
import GHC.Types.Unique.Supply
-import GHC.Driver.Session
import GHC.Utils.Monad (concatMapM)
--
@@ -32,12 +32,12 @@ import GHC.Utils.Monad (concatMapM)
-- | Traverses the 'CmmGraph', making sure that 'CmmSwitch' are suitable for
-- code generation.
-cmmImplementSwitchPlans :: DynFlags -> CmmGraph -> UniqSM CmmGraph
-cmmImplementSwitchPlans dflags g
+cmmImplementSwitchPlans :: Backend -> Platform -> CmmGraph -> UniqSM CmmGraph
+cmmImplementSwitchPlans backend platform g
-- Switch generation done by backend (LLVM/C)
- | backendSupportsSwitch (backend dflags) = return g
+ | backendSupportsSwitch backend = return g
| otherwise = do
- blocks' <- concatMapM (visitSwitches (targetPlatform dflags)) (toBlockList g)
+ blocks' <- concatMapM (visitSwitches platform) (toBlockList g)
return $ ofBlockList (g_entry g) blocks'
visitSwitches :: Platform -> CmmBlock -> UniqSM [CmmBlock]