+++ /dev/null
-{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
-interface IdInfo where
-import Bag(Bag)
-import BasicLit(BasicLit)
-import BinderInfo(BinderInfo, DuplicationDanger, FunOrArg, InsideSCC)
-import CharSeq(CSeq)
-import CmdLineOpts(GlobalSwitch)
-import CoreSyn(CoreAtom, CoreBinding, CoreCaseAlternatives, CoreExpr)
-import CostCentre(CostCentre)
-import Id(Id)
-import IdEnv(IdEnv(..))
-import InstEnv(InstTemplate)
-import MagicUFs(MagicUnfoldingFun)
-import Maybes(Labda)
-import Outputable(Outputable)
-import PlainCore(PlainCoreAtom(..), PlainCoreExpr(..))
-import PreludePS(_PackedString)
-import Pretty(Delay, PprStyle, Pretty(..), PrettyRep)
-import PrimOps(PrimOp)
-import SimplEnv(FormSummary, IdVal, InExpr(..), OutAtom(..), OutExpr(..), OutId(..), UnfoldingDetails(..), UnfoldingGuidance(..))
-import SrcLoc(SrcLoc)
-import Subst(Subst)
-import TaggedCore(SimplifiableBinder(..), SimplifiableCoreExpr(..))
-import TyVar(TyVar)
-import UniType(UniType)
-import UniqFM(UniqFM)
-import Unique(UniqSM(..), Unique, UniqueSupply)
-class OptIdInfo a where
- noInfo :: a
- getInfo :: IdInfo -> a
- addInfo :: IdInfo -> a -> IdInfo
- ppInfo :: PprStyle -> (Id -> Id) -> a -> Int -> Bool -> PrettyRep
-data ArgUsage = ArgUsage Int | UnknownArgUsage
-data ArgUsageInfo
-type ArgUsageType = [ArgUsage]
-data ArityInfo
-data Bag a
-data BasicLit
-data BinderInfo
-data CoreAtom a
-data CoreExpr a b
-data DeforestInfo = Don'tDeforest | DoDeforest
-data Demand = WwLazy Bool | WwStrict | WwUnpack [Demand] | WwPrim | WwEnum
-data DemandInfo
-data FBConsum = FBGoodConsum | FBBadConsum
-data FBProd = FBGoodProd | FBBadProd
-data FBType = FBType [FBConsum] FBProd
-data FBTypeInfo
-data Id
-type IdEnv a = UniqFM a
-data IdInfo
-data InstTemplate
-data MagicUnfoldingFun
-data Labda a
-type PlainCoreAtom = CoreAtom Id
-type PlainCoreExpr = CoreExpr Id Id
-data PprStyle
-type Pretty = Int -> Bool -> PrettyRep
-data PrettyRep
-data FormSummary
-data IdVal
-type InExpr = CoreExpr (Id, BinderInfo) Id
-type OutAtom = CoreAtom Id
-type OutExpr = CoreExpr Id Id
-type OutId = Id
-data UnfoldingDetails = NoUnfoldingDetails | LiteralForm BasicLit | OtherLiteralForm [BasicLit] | ConstructorForm Id [UniType] [CoreAtom Id] | OtherConstructorForm [Id] | GeneralForm Bool FormSummary (CoreExpr (Id, BinderInfo) Id) UnfoldingGuidance | MagicForm _PackedString MagicUnfoldingFun | IWantToBeINLINEd UnfoldingGuidance
-data UnfoldingGuidance = UnfoldNever | UnfoldAlways | EssentialUnfolding | UnfoldIfGoodArgs Int Int [Bool] Int | BadUnfolding
-data SrcLoc
-data Subst
-type SimplifiableBinder = (Id, BinderInfo)
-type SimplifiableCoreExpr = CoreExpr (Id, BinderInfo) Id
-data SpecEnv
-data SpecInfo = SpecInfo [Labda UniType] Int Id
-data StrictnessInfo = NoStrictnessInfo | BottomGuaranteed | StrictnessInfo [Demand] (Labda Id)
-data UniType
-data UniqFM a
-type UniqSM a = UniqueSupply -> (UniqueSupply, a)
-data Unique
-data UniqueSupply
-data UpdateInfo
-type UpdateSpec = [Int]
-addInfo_UF :: IdInfo -> UnfoldingDetails -> IdInfo
-addOneToSpecEnv :: SpecEnv -> SpecInfo -> SpecEnv
-applySubstToIdInfo :: Subst -> IdInfo -> (Subst, IdInfo)
-apply_to_IdInfo :: (UniType -> UniType) -> IdInfo -> IdInfo
-arityMaybe :: ArityInfo -> Labda Int
-boringIdInfo :: IdInfo -> Bool
-bottomIsGuaranteed :: StrictnessInfo -> Bool
-getArgUsage :: ArgUsageInfo -> [ArgUsage]
-getFBType :: FBTypeInfo -> Labda FBType
-getInfo_UF :: IdInfo -> UnfoldingDetails
-getSrcLocIdInfo :: IdInfo -> SrcLoc
-getWorkerId :: StrictnessInfo -> Id
-getWrapperArgTypeCategories :: UniType -> StrictnessInfo -> Labda [Char]
-iWantToBeINLINEd :: UnfoldingGuidance -> UnfoldingDetails
-indicatesWorker :: [Demand] -> Bool
-lookupConstMethodId :: Id -> UniType -> Labda Id
-lookupSpecEnv :: SpecEnv -> [UniType] -> Labda (Id, [UniType], Int)
-lookupSpecId :: Id -> [Labda UniType] -> Id
-mkArgUsageInfo :: [ArgUsage] -> ArgUsageInfo
-mkArityInfo :: Int -> ArityInfo
-mkBottomStrictnessInfo :: StrictnessInfo
-mkDemandInfo :: Demand -> DemandInfo
-mkFBTypeInfo :: FBType -> FBTypeInfo
-mkMagicUnfolding :: _PackedString -> UnfoldingDetails
-mkSpecEnv :: [SpecInfo] -> SpecEnv
-mkStrictnessInfo :: [Demand] -> Labda Id -> StrictnessInfo
-mkUnfolding :: UnfoldingGuidance -> CoreExpr Id Id -> UnfoldingDetails
-mkUpdateInfo :: [Int] -> UpdateInfo
-noIdInfo :: IdInfo
-noInfo_UF :: UnfoldingDetails
-nonAbsentArgs :: [Demand] -> Int
-nullSpecEnv :: SpecEnv
-ppIdInfo :: PprStyle -> Id -> Bool -> (Id -> Id) -> UniqFM UnfoldingDetails -> IdInfo -> Int -> Bool -> PrettyRep
-unknownArity :: ArityInfo
-updateInfoMaybe :: UpdateInfo -> Labda [Int]
-willBeDemanded :: DemandInfo -> Bool
-workerExists :: StrictnessInfo -> Bool
-wwEnum :: Demand
-wwLazy :: Demand
-wwPrim :: Demand
-wwStrict :: Demand
-wwUnpack :: [Demand] -> Demand
-instance Eq Demand
-instance Eq FBConsum
-instance Eq FBProd
-instance Eq FBType
-instance Eq UpdateInfo
-instance OptIdInfo ArgUsageInfo
-instance OptIdInfo ArityInfo
-instance OptIdInfo DeforestInfo
-instance OptIdInfo DemandInfo
-instance OptIdInfo FBTypeInfo
-instance OptIdInfo SpecEnv
-instance OptIdInfo StrictnessInfo
-instance OptIdInfo UpdateInfo
-instance Ord Demand
-instance Ord UpdateInfo
-instance Outputable Demand
-instance Text Demand
-instance Text UpdateInfo
-