GHC.Cmm.Dataflow.Label

ghc-lib-parser-9.14.1.20251220: The GHC API, decoupled from GHC versions

Safe Haskell | Ignore
Language | GHC2021

GHC.Cmm.Dataflow.Label

Contents

- Set
- Map

Synopsis

- data Label
- data LabelMap v
- data LabelSet
- type FactBase f = LabelMap f
- lookupFact :: Label -> FactBase f -> Maybe f
- mkHooplLabel :: Word64 -> Label
- setEmpty :: LabelSet
- setNull :: LabelSet -> Bool
- setSize :: LabelSet -> Int
- setMember :: Label -> LabelSet -> Bool
- setSingleton :: Label -> LabelSet
- setInsert :: Label -> LabelSet -> LabelSet
- setDelete :: Label -> LabelSet -> LabelSet
- setUnion :: LabelSet -> LabelSet -> LabelSet
- setUnions :: [LabelSet] -> LabelSet
- setDifference :: LabelSet -> LabelSet -> LabelSet
- setIntersection :: LabelSet -> LabelSet -> LabelSet
- setIsSubsetOf :: LabelSet -> LabelSet -> Bool
- setFilter :: (Label -> Bool) -> LabelSet -> LabelSet
- setFoldl :: (t -> Label -> t) -> t -> LabelSet -> t
- setFoldr :: (Label -> t -> t) -> t -> LabelSet -> t
- setFromList :: [Label] -> LabelSet
- setElems :: LabelSet -> [Label]
- mapNull :: LabelMap a -> Bool
- mapSize :: LabelMap a -> Int
- mapMember :: Label -> LabelMap a -> Bool
- mapLookup :: Label -> LabelMap a -> Maybe a
- mapFindWithDefault :: a -> Label -> LabelMap a -> a
- mapEmpty :: LabelMap v
- mapSingleton :: Label -> v -> LabelMap v
- mapInsert :: Label -> v -> LabelMap v -> LabelMap v
- mapInsertWith :: (v -> v -> v) -> Label -> v -> LabelMap v -> LabelMap v
- mapDelete :: Label -> LabelMap v -> LabelMap v
- mapAlter :: (Maybe v -> Maybe v) -> Label -> LabelMap v -> LabelMap v
- mapAdjust :: (v -> v) -> Label -> LabelMap v -> LabelMap v
- mapUnion :: LabelMap v -> LabelMap v -> LabelMap v
- mapUnions :: [LabelMap a] -> LabelMap a
- mapUnionWithKey :: (Label -> v -> v -> v) -> LabelMap v -> LabelMap v -> LabelMap v
- mapDifference :: LabelMap v -> LabelMap b -> LabelMap v
- mapIntersection :: LabelMap v -> LabelMap b -> LabelMap v
- mapIsSubmapOf :: Eq a => LabelMap a -> LabelMap a -> Bool
- mapMap :: (a -> v) -> LabelMap a -> LabelMap v
- mapMapWithKey :: (Label -> a -> v) -> LabelMap a -> LabelMap v
- mapFoldl :: (a -> b -> a) -> a -> LabelMap b -> a
- mapFoldr :: (a -> b -> b) -> b -> LabelMap a -> b
- mapFoldlWithKey :: (t -> Label -> b -> t) -> t -> LabelMap b -> t
- mapFoldMapWithKey :: Monoid m => (Label -> t -> m) -> LabelMap t -> m
- mapFilter :: (v -> Bool) -> LabelMap v -> LabelMap v
- mapFilterWithKey :: (Label -> v -> Bool) -> LabelMap v -> LabelMap v
- mapElems :: LabelMap a -> [a]
- mapKeys :: LabelMap a -> [Label]
- mapToList :: LabelMap b -> [(Label, b)]
- mapFromList :: [(Label, v)] -> LabelMap v
- mapFromListWith :: (v -> v -> v) -> [(Label, v)] -> LabelMap v
- mapMapMaybe :: (a -> Maybe b) -> LabelMap a -> LabelMap b

# Documentation

data Label #

#### Instances

Instances details

Show Label # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods showsPrec :: Int -> Label -> ShowS # show :: Label -> String # showList :: [Label] -> ShowS #
Uniquable Label # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods getUnique :: Label -> Unique #
Outputable Label # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods ppr :: Label -> SDoc #
Eq Label # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods (==) :: Label -> Label -> Bool # (/=) :: Label -> Label -> Bool #
Ord Label # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods compare :: Label -> Label -> Ordering # (<) :: Label -> Label -> Bool # (<=) :: Label -> Label -> Bool # (>) :: Label -> Label -> Bool # (>=) :: Label -> Label -> Bool # max :: Label -> Label -> Label # min :: Label -> Label -> Label #
OutputableP env Label # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods pdoc :: env -> Label -> SDoc #

data LabelMap v #

#### Instances

Instances details

Functor LabelMap # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods fmap :: (a -> b) -> LabelMap a -> LabelMap b # (<$) :: a -> LabelMap b -> LabelMap a #
Foldable LabelMap # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods fold :: Monoid m => LabelMap m -> m # foldMap :: Monoid m => (a -> m) -> LabelMap a -> m # foldMap' :: Monoid m => (a -> m) -> LabelMap a -> m # foldr :: (a -> b -> b) -> b -> LabelMap a -> b # foldr' :: (a -> b -> b) -> b -> LabelMap a -> b # foldl :: (b -> a -> b) -> b -> LabelMap a -> b # foldl' :: (b -> a -> b) -> b -> LabelMap a -> b # foldr1 :: (a -> a -> a) -> LabelMap a -> a # foldl1 :: (a -> a -> a) -> LabelMap a -> a # toList :: LabelMap a -> [a] # null :: LabelMap a -> Bool # length :: LabelMap a -> Int # elem :: Eq a => a -> LabelMap a -> Bool # maximum :: Ord a => LabelMap a -> a # minimum :: Ord a => LabelMap a -> a # sum :: Num a => LabelMap a -> a # product :: Num a => LabelMap a -> a #
Traversable LabelMap # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods traverse :: Applicative f => (a -> f b) -> LabelMap a -> f (LabelMap b) # sequenceA :: Applicative f => LabelMap (f a) -> f (LabelMap a) # mapM :: Monad m => (a -> m b) -> LabelMap a -> m (LabelMap b) # sequence :: Monad m => LabelMap (m a) -> m (LabelMap a) #
TrieMap LabelMap # |
Instance details Defined in GHC.Cmm.Dataflow.Label Associated Types
type Key LabelMap |
Instance details Defined in GHC.Cmm.Dataflow.Label type Key LabelMap = Label
Methods emptyTM :: LabelMap a # lookupTM :: Key LabelMap -> LabelMap b -> Maybe b # alterTM :: Key LabelMap -> XT b -> LabelMap b -> LabelMap b # filterTM :: (a -> Bool) -> LabelMap a -> LabelMap a # mapMaybeTM :: (a -> Maybe b) -> LabelMap a -> LabelMap b # foldTM :: (a -> b -> b) -> LabelMap a -> b -> b #
OutputableP Platform CmmGraph # |
Instance details Defined in GHC.Cmm Methods pdoc :: Platform -> CmmGraph -> SDoc #
OutputableP Platform CmmTopInfo # |
Instance details Defined in GHC.Cmm Methods pdoc :: Platform -> CmmTopInfo -> SDoc #
OutputableP env a => OutputableP env (LabelMap a) # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods pdoc :: env -> LabelMap a -> SDoc #
OutputableP Platform (Graph CmmNode e x) # |
Instance details Defined in GHC.Cmm.Node Methods pdoc :: Platform -> Graph CmmNode e x -> SDoc #
Show v => Show (LabelMap v) # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods showsPrec :: Int -> LabelMap v -> ShowS # show :: LabelMap v -> String # showList :: [LabelMap v] -> ShowS #
Outputable a => Outputable (LabelMap a) # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods ppr :: LabelMap a -> SDoc #
Eq v => Eq (LabelMap v) # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods (==) :: LabelMap v -> LabelMap v -> Bool # (/=) :: LabelMap v -> LabelMap v -> Bool #
Ord v => Ord (LabelMap v) # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods compare :: LabelMap v -> LabelMap v -> Ordering # (<) :: LabelMap v -> LabelMap v -> Bool # (<=) :: LabelMap v -> LabelMap v -> Bool # (>) :: LabelMap v -> LabelMap v -> Bool # (>=) :: LabelMap v -> LabelMap v -> Bool # max :: LabelMap v -> LabelMap v -> LabelMap v # min :: LabelMap v -> LabelMap v -> LabelMap v #
type Key LabelMap # |
Instance details Defined in GHC.Cmm.Dataflow.Label type Key LabelMap = Label

data LabelSet #

#### Instances

Instances details

Monoid LabelSet # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods mempty :: LabelSet # mappend :: LabelSet -> LabelSet -> LabelSet # mconcat :: [LabelSet] -> LabelSet #
Semigroup LabelSet # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods (<>) :: LabelSet -> LabelSet -> LabelSet # sconcat :: NonEmpty LabelSet -> LabelSet # stimes :: Integral b => b -> LabelSet -> LabelSet #
Show LabelSet # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods showsPrec :: Int -> LabelSet -> ShowS # show :: LabelSet -> String # showList :: [LabelSet] -> ShowS #
Outputable LabelSet # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods ppr :: LabelSet -> SDoc #
Eq LabelSet # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods (==) :: LabelSet -> LabelSet -> Bool # (/=) :: LabelSet -> LabelSet -> Bool #
Ord LabelSet # |
Instance details Defined in GHC.Cmm.Dataflow.Label Methods compare :: LabelSet -> LabelSet -> Ordering # (<) :: LabelSet -> LabelSet -> Bool # (<=) :: LabelSet -> LabelSet -> Bool # (>) :: LabelSet -> LabelSet -> Bool # (>=) :: LabelSet -> LabelSet -> Bool # max :: LabelSet -> LabelSet -> LabelSet # min :: LabelSet -> LabelSet -> LabelSet #

type FactBase f = LabelMap f #

lookupFact :: Label -> FactBase f -> Maybe f #

mkHooplLabel :: Word64 -> Label #

# Set

setEmpty :: LabelSet #

setNull :: LabelSet -> Bool #

setSize :: LabelSet -> Int #

setMember :: Label -> LabelSet -> Bool #

setSingleton :: Label -> LabelSet #

setInsert :: Label -> LabelSet -> LabelSet #

setDelete :: Label -> LabelSet -> LabelSet #

setUnion :: LabelSet -> LabelSet -> LabelSet #

setUnions :: [LabelSet] -> LabelSet #

setDifference :: LabelSet -> LabelSet -> LabelSet #

setIntersection :: LabelSet -> LabelSet -> LabelSet #

setIsSubsetOf :: LabelSet -> LabelSet -> Bool #

setFilter :: (Label -> Bool) -> LabelSet -> LabelSet #

setFoldl :: (t -> Label -> t) -> t -> LabelSet -> t #

setFoldr :: (Label -> t -> t) -> t -> LabelSet -> t #

setFromList :: [Label] -> LabelSet #

setElems :: LabelSet -> [Label] #

# Map

mapNull :: LabelMap a -> Bool #

mapSize :: LabelMap a -> Int #

mapMember :: Label -> LabelMap a -> Bool #

mapLookup :: Label -> LabelMap a -> Maybe a #

mapFindWithDefault :: a -> Label -> LabelMap a -> a #

mapEmpty :: LabelMap v #

mapSingleton :: Label -> v -> LabelMap v #

mapInsert :: Label -> v -> LabelMap v -> LabelMap v #

mapInsertWith :: (v -> v -> v) -> Label -> v -> LabelMap v -> LabelMap v #

mapDelete :: Label -> LabelMap v -> LabelMap v #

mapAlter :: (Maybe v -> Maybe v) -> Label -> LabelMap v -> LabelMap v #

mapAdjust :: (v -> v) -> Label -> LabelMap v -> LabelMap v #

mapUnion :: LabelMap v -> LabelMap v -> LabelMap v #

mapUnions :: [LabelMap a] -> LabelMap a #

mapUnionWithKey :: (Label -> v -> v -> v) -> LabelMap v -> LabelMap v -> LabelMap v #

mapDifference :: LabelMap v -> LabelMap b -> LabelMap v #

mapIntersection :: LabelMap v -> LabelMap b -> LabelMap v #

mapIsSubmapOf :: Eq a => LabelMap a -> LabelMap a -> Bool #

mapMap :: (a -> v) -> LabelMap a -> LabelMap v #

mapMapWithKey :: (Label -> a -> v) -> LabelMap a -> LabelMap v #

mapFoldl :: (a -> b -> a) -> a -> LabelMap b -> a #

mapFoldr :: (a -> b -> b) -> b -> LabelMap a -> b #

mapFoldlWithKey :: (t -> Label -> b -> t) -> t -> LabelMap b -> t #

mapFoldMapWithKey :: Monoid m => (Label -> t -> m) -> LabelMap t -> m #

mapFilter :: (v -> Bool) -> LabelMap v -> LabelMap v #

mapFilterWithKey :: (Label -> v -> Bool) -> LabelMap v -> LabelMap v #

mapElems :: LabelMap a -> [a] #

mapKeys :: LabelMap a -> [Label] #

mapToList :: LabelMap b -> [(Label, b)] #

mapFromList :: [(Label, v)] -> LabelMap v #

mapFromListWith :: (v -> v -> v) -> [(Label, v)] -> LabelMap v #

mapMapMaybe :: (a -> Maybe b) -> LabelMap a -> LabelMap b #