summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Marianiello <andremarianiello@users.noreply.github.com>2022-05-09 18:21:47 -0400
committerandremarianiello <andre.marianiello@gmail.com>2022-05-12 02:15:48 +0000
commit2fc8d76b5c6b4aadcdee39703f8ba6b8936fa9c8 (patch)
tree108e7681a556016a2ea07b0d4acdefa94e61fced
parent3a022baa1967e2df2ed19341de38b004dc07c04f (diff)
downloadhaskell-2fc8d76b5c6b4aadcdee39703f8ba6b8936fa9c8.tar.gz
Move CmmParserConfig and PDConfig into GHC.Cmm.Parser.Config
-rw-r--r--compiler/GHC/Cmm/Parser.y7
-rw-r--r--compiler/GHC/Cmm/Parser/Config.hs24
-rw-r--r--compiler/GHC/Cmm/Parser/Monad.hs7
-rw-r--r--compiler/GHC/Driver/Config/Cmm/Parser.hs3
-rw-r--r--compiler/ghc.cabal.in1
5 files changed, 29 insertions, 13 deletions
diff --git a/compiler/GHC/Cmm/Parser.y b/compiler/GHC/Cmm/Parser.y
index 7150ca9b92..5671521b49 100644
--- a/compiler/GHC/Cmm/Parser.y
+++ b/compiler/GHC/Cmm/Parser.y
@@ -234,6 +234,7 @@ import GHC.Cmm.Info
import GHC.Cmm.BlockId
import GHC.Cmm.Lexer
import GHC.Cmm.CLabel
+import GHC.Cmm.Parser.Config
import GHC.Cmm.Parser.Monad hiding (getPlatform, getProfile)
import qualified GHC.Cmm.Parser.Monad as PD
import GHC.Cmm.CallConv
@@ -1492,12 +1493,6 @@ initEnv profile = listToUFM [
]
where platform = profilePlatform profile
-data CmmParserConfig = CmmParserConfig
- { cmmpParserOpts :: !ParserOpts
- , cmmpPDConfig :: !PDConfig
- , cmmpStgToCmmConfig :: !StgToCmmConfig
- }
-
parseCmmFile :: CmmParserConfig
-> Module
-> HomeUnit
diff --git a/compiler/GHC/Cmm/Parser/Config.hs b/compiler/GHC/Cmm/Parser/Config.hs
new file mode 100644
index 0000000000..399764f8f0
--- /dev/null
+++ b/compiler/GHC/Cmm/Parser/Config.hs
@@ -0,0 +1,24 @@
+module GHC.Cmm.Parser.Config (
+ PDConfig(..)
+ , CmmParserConfig(..)
+) where
+
+import GHC.Prelude
+
+import GHC.Platform.Profile
+
+import GHC.StgToCmm.Config
+
+import GHC.Parser.Lexer
+
+
+data PDConfig = PDConfig
+ { pdProfile :: !Profile
+ , pdSanitizeAlignment :: !Bool -- ^ Insert alignment checks (cf @-falignment-sanitisation@)
+ }
+
+data CmmParserConfig = CmmParserConfig
+ { cmmpParserOpts :: !ParserOpts
+ , cmmpPDConfig :: !PDConfig
+ , cmmpStgToCmmConfig :: !StgToCmmConfig
+ }
diff --git a/compiler/GHC/Cmm/Parser/Monad.hs b/compiler/GHC/Cmm/Parser/Monad.hs
index b13321d491..30906a9fca 100644
--- a/compiler/GHC/Cmm/Parser/Monad.hs
+++ b/compiler/GHC/Cmm/Parser/Monad.hs
@@ -20,6 +20,8 @@ module GHC.Cmm.Parser.Monad (
import GHC.Prelude
+import GHC.Cmm.Parser.Config
+
import GHC.Platform
import GHC.Platform.Profile
@@ -32,11 +34,6 @@ import GHC.Types.SrcLoc
import GHC.Unit.Types
import GHC.Unit.Home
-data PDConfig = PDConfig
- { pdProfile :: !Profile
- , pdSanitizeAlignment :: !Bool -- ^ Insert alignment checks (cf @-falignment-sanitisation@)
- }
-
newtype PD a = PD { unPD :: PDConfig -> HomeUnit -> PState -> ParseResult a }
instance Functor PD where
diff --git a/compiler/GHC/Driver/Config/Cmm/Parser.hs b/compiler/GHC/Driver/Config/Cmm/Parser.hs
index 4cd1c25b49..85abfb678a 100644
--- a/compiler/GHC/Driver/Config/Cmm/Parser.hs
+++ b/compiler/GHC/Driver/Config/Cmm/Parser.hs
@@ -2,8 +2,7 @@ module GHC.Driver.Config.Cmm.Parser
( initCmmParserConfig
) where
-import GHC.Cmm.Parser
-import GHC.Cmm.Parser.Monad
+import GHC.Cmm.Parser.Config
import GHC.Driver.Config.Parser
import GHC.Driver.Config.StgToCmm
diff --git a/compiler/ghc.cabal.in b/compiler/ghc.cabal.in
index fda4e5e363..1036748a8a 100644
--- a/compiler/ghc.cabal.in
+++ b/compiler/ghc.cabal.in
@@ -198,6 +198,7 @@ Library
GHC.Cmm.Node
GHC.Cmm.Opt
GHC.Cmm.Parser
+ GHC.Cmm.Parser.Config
GHC.Cmm.Parser.Monad
GHC.Cmm.Pipeline
GHC.Cmm.Ppr