[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / compiler / simplCore / SimplUtils.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface SimplUtils where
3 import BinderInfo(BinderInfo)
4 import CoreSyn(CoreCaseAlternatives, CoreExpr)
5 import Id(Id)
6 import SimplEnv(SimplEnv)
7 import SimplMonad(SimplCount)
8 import SplitUniq(SplitUniqSupply)
9 import TyVar(TyVar)
10 import UniType(UniType)
11 etaExpandCount :: CoreExpr a Id -> Int
12         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
13 floatExposesHNF :: Bool -> Bool -> Bool -> CoreExpr a Id -> Bool
14         {-# GHC_PRAGMA _A_ 4 _U_ 2222 _N_ _S_ "LLLS" _N_ _N_ #-}
15 mkCoLamTryingEta :: [Id] -> CoreExpr Id Id -> CoreExpr Id Id
16         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
17 mkCoTyLamTryingEta :: [TyVar] -> CoreExpr Id Id -> CoreExpr Id Id
18         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
19 mkIdentityAlts :: UniType -> SplitUniqSupply -> SimplCount -> (CoreCaseAlternatives (Id, BinderInfo) Id, SimplCount)
20         {-# GHC_PRAGMA _A_ 1 _U_ 222 _N_ _S_ "S" _N_ _N_ #-}
21 simplIdWantsToBeINLINEd :: Id -> SimplEnv -> Bool
22         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(SAAAA)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_ #-}
23 type_ok_for_let_to_case :: UniType -> Bool
24         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
25