[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / compiler / simplCore / BinderInfo.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface BinderInfo where
3 import Outputable(Outputable)
4 data BinderInfo   = DeadCode | ManyOcc Int | OneOcc FunOrArg DuplicationDanger InsideSCC Int Int
5 data DuplicationDanger  {-# GHC_PRAGMA DupDanger | NoDupDanger #-}
6 data FunOrArg   {-# GHC_PRAGMA FunOcc | ArgOcc #-}
7 data InsideSCC  {-# GHC_PRAGMA InsideSCC | NotInsideSCC #-}
8 argOccurrence :: Int -> BinderInfo
9         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
10 combineAltsBinderInfo :: BinderInfo -> BinderInfo -> BinderInfo
11         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
12 combineBinderInfo :: BinderInfo -> BinderInfo -> BinderInfo
13         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
14 funOccurrence :: Int -> BinderInfo
15         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
16 getBinderInfoArity :: BinderInfo -> Int
17         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 7 \ (u0 :: BinderInfo) -> case u0 of { _ALG_ _ORIG_ BinderInfo DeadCode  -> _!_ I# [] [0#]; _ORIG_ BinderInfo ManyOcc (u1 :: Int) -> u1; _ORIG_ BinderInfo OneOcc (u2 :: FunOrArg) (u3 :: DuplicationDanger) (u4 :: InsideSCC) (u5 :: Int) (u6 :: Int) -> u6; _NO_DEFLT_ } _N_ #-}
18 inlineUnconditionally :: Bool -> BinderInfo -> Bool
19         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
20 isDupDanger :: DuplicationDanger -> Bool
21         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: DuplicationDanger) -> case u0 of { _ALG_ _ORIG_ BinderInfo NoDupDanger  -> _!_ False [] []; _ORIG_ BinderInfo DupDanger  -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
22 isFun :: FunOrArg -> Bool
23         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: FunOrArg) -> case u0 of { _ALG_ _ORIG_ BinderInfo ArgOcc  -> _!_ False [] []; _ORIG_ BinderInfo FunOcc  -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
24 markDangerousToDup :: BinderInfo -> BinderInfo
25         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
26 markInsideSCC :: BinderInfo -> BinderInfo
27         {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
28 markMany :: BinderInfo -> BinderInfo
29         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
30 oneSafeOcc :: Bool -> BinderInfo -> Bool
31         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
32 oneTextualOcc :: Bool -> BinderInfo -> Bool
33         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
34 setBinderInfoArityToZero :: BinderInfo -> BinderInfo
35         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
36 instance Outputable BinderInfo
37         {-# GHC_PRAGMA _M_ BinderInfo {-dfun-} _A_ 2 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Outputable ppr (BinderInfo) _N_
38          ppr = _A_ 2 _U_ 0122 _N_ _S_ "AS" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
39