1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface CoreLift where
3 import BasicLit(BasicLit)
4 import CoreSyn(CoreAtom, CoreBinding, CoreCaseAlternatives, CoreExpr)
5 import CostCentre(CostCentre)
7 import PlainCore(PlainCoreBinding(..), PlainCoreExpr(..))
9 import SplitUniq(SplitUniqSupply)
11 import UniType(UniType)
16 type PlainCoreBinding = CoreBinding Id Id
17 type PlainCoreExpr = CoreExpr Id Id
20 applyBindUnlifts :: [CoreExpr Id Id -> CoreExpr Id Id] -> CoreExpr Id Id -> CoreExpr Id Id
21 bindUnlift :: Id -> Id -> CoreExpr Id Id -> CoreExpr Id Id
22 liftCoreBindings :: SplitUniqSupply -> [CoreBinding Id Id] -> [CoreBinding Id Id]
23 liftExpr :: Id -> CoreExpr Id Id -> CoreExpr Id Id
24 mkLiftedId :: Id -> Unique -> (Id, Id)