{-# GHC_PRAGMA INTERFACE VERSION 5 #-} interface OccurAnal where import BasicLit(BasicLit) import BinderInfo(BinderInfo, DuplicationDanger, FunOrArg, InsideSCC) import CmdLineOpts(GlobalSwitch, SimplifierSwitch) import CoreSyn(CoreAtom, CoreBinding, CoreCaseAlternatives, CoreExpr) import CostCentre(CostCentre) import Id(Id) import PlainCore(PlainCoreExpr(..), PlainCoreProgram(..)) import PrimOps(PrimOp) import TaggedCore(SimplifiableCoreBinding(..), SimplifiableCoreExpr(..)) import TyVar(TyVar) import UniType(UniType) import UniqFM(UniqFM) data BinderInfo data GlobalSwitch data CoreBinding a b data CoreExpr a b data Id type PlainCoreExpr = CoreExpr Id Id type PlainCoreProgram = [CoreBinding Id Id] type SimplifiableCoreBinding = CoreBinding (Id, BinderInfo) Id type SimplifiableCoreExpr = CoreExpr (Id, BinderInfo) Id occurAnalyseBinds :: [CoreBinding Id Id] -> (GlobalSwitch -> Bool) -> (SimplifierSwitch -> Bool) -> [CoreBinding (Id, BinderInfo) Id] occurAnalyseExpr :: UniqFM Id -> CoreExpr Id Id -> (UniqFM BinderInfo, CoreExpr (Id, BinderInfo) Id) occurAnalyseGlobalExpr :: CoreExpr Id Id -> CoreExpr (Id, BinderInfo) Id