diff --git a/compiler/GHC/Core/Map/Expr.hs b/compiler/GHC/Core/Map/Expr.hs index e1881dccf4237db77aafc2b9ca1f28c72b11605b..6d22e3a102e77c0b03390a9610f129432ca6044b 100644 --- a/compiler/GHC/Core/Map/Expr.hs +++ b/compiler/GHC/Core/Map/Expr.hs @@ -40,6 +40,7 @@ import GHC.Utils.Outputable import qualified Data.Map as Map import GHC.Types.Name.Env import Control.Monad( (>=>) ) +import GHC.Types.Literal (Literal) {- This module implements TrieMaps over Core related data structures @@ -128,6 +129,8 @@ instance TrieMap CoreMap where -- inside another 'TrieMap', this is the type you want. type CoreMapG = GenMap CoreMapX +type LiteralMap a = Map.Map Literal a + -- | @CoreMapX a@ is the base map from @DeBruijn CoreExpr@ to @a@, but without -- the 'GenMap' optimization. data CoreMapX a diff --git a/compiler/GHC/Data/TrieMap.hs b/compiler/GHC/Data/TrieMap.hs index 6f348d7e3fc9e192fa4d08488d49980040b719e8..1f0f5446f4b9569df3f37f2dc116bbba3d2eac1b 100644 --- a/compiler/GHC/Data/TrieMap.hs +++ b/compiler/GHC/Data/TrieMap.hs @@ -13,8 +13,6 @@ module GHC.Data.TrieMap( MaybeMap, -- * Maps over 'List' values ListMap, - -- * Maps over 'Literal's - LiteralMap, -- * 'TrieMap' class TrieMap(..), insertTM, deleteTM, foldMapTM, isEmptyTM, @@ -30,7 +28,6 @@ module GHC.Data.TrieMap( import GHC.Prelude -import GHC.Types.Literal import GHC.Types.Unique.DFM import GHC.Types.Unique( Uniquable ) @@ -343,16 +340,6 @@ ftList :: TrieMap m => (a -> Bool) -> ListMap m a -> ListMap m a ftList f (LM { lm_nil = mnil, lm_cons = mcons }) = LM { lm_nil = filterMaybe f mnil, lm_cons = fmap (filterTM f) mcons } -{- -************************************************************************ -* * - Basic maps -* * -************************************************************************ --} - -type LiteralMap a = Map.Map Literal a - {- ************************************************************************ * * diff --git a/compiler/GHC/Stg/CSE.hs b/compiler/GHC/Stg/CSE.hs index bf9b7d12a018ceeecb9df420657d1cd5615e5536..0afe917465adddb5be24f3894114439daa819bde 100644 --- a/compiler/GHC/Stg/CSE.hs +++ b/compiler/GHC/Stg/CSE.hs @@ -109,6 +109,8 @@ import GHC.Core.Map.Expr import GHC.Data.TrieMap import GHC.Types.Name.Env import Control.Monad( (>=>) ) +import qualified Data.Map as Map +import GHC.Types.Literal (Literal) -------------- -- The Trie -- @@ -122,6 +124,8 @@ data StgArgMap a = SAM , sam_lit :: LiteralMap a } +type LiteralMap a = Map.Map Literal a + -- TODO(22292): derive instance Functor StgArgMap where fmap f SAM { sam_var = varm, sam_lit = litm } = SAM