1 Breaks the IdInfo/<everything> loops.
6 import PreludePS ( _PackedString )
7 import PreludeStdIO ( Maybe )
9 import BinderInfo ( BinderInfo )
10 import CoreSyn ( CoreExpr(..), GenCoreExpr, GenCoreArg )
11 import CoreUnfold ( FormSummary(..), UnfoldingDetails(..), UnfoldingGuidance(..) )
12 import CoreUtils ( unTagBinders )
13 import Id ( externallyVisibleId, isDataCon, isWorkerId, isWrapperId,
14 unfoldingUnfriendlyId, getIdInfo,
15 nullIdEnv, lookupIdEnv, IdEnv(..),
18 import IdInfo ( IdInfo )
19 import Literal ( Literal )
20 import MagicUFs ( mkMagicUnfoldingFun, MagicUnfoldingFun )
21 import Outputable ( Outputable(..) )
22 import PprStyle ( PprStyle )
23 import PprType ( pprParendGenType )
24 import Pretty ( PrettyRep )
25 import Type ( GenType )
26 import TyVar ( GenTyVar )
27 import UniqFM ( UniqFM )
28 import Unique ( Unique )
29 import Usage ( GenUsage )
30 import Util ( Ord3(..) )
31 import WwLib ( mAX_WORKER_ARGS )
33 externallyVisibleId :: Id -> Bool
34 isDataCon :: GenId ty -> Bool
35 isWorkerId :: GenId ty -> Bool
36 isWrapperId :: Id -> Bool
37 unfoldingUnfriendlyId :: Id -> Bool
38 getIdInfo :: Id -> IdInfo
40 lookupIdEnv :: UniqFM b -> GenId a -> Maybe b
41 mAX_WORKER_ARGS :: Int
42 pprParendGenType :: (Eq a, Outputable a, Eq b, Outputable b) => PprStyle -> GenType a b -> Int -> Bool -> PrettyRep
43 unTagBinders :: GenCoreExpr (GenId (GenType (GenTyVar (GenUsage Unique)) Unique), a) b c d -> GenCoreExpr (GenId (GenType (GenTyVar (GenUsage Unique)) Unique)) b c d
45 mkMagicUnfoldingFun :: Unique -> MagicUnfoldingFun
47 type IdEnv a = UniqFM a
48 type CoreExpr = GenCoreExpr (GenId (GenType (GenTyVar (GenUsage Unique)) Unique))
49 (GenId (GenType (GenTyVar (GenUsage Unique)) Unique))
50 (GenTyVar (GenUsage Unique)) Unique
52 instance Outputable UnfoldingGuidance
54 instance Outputable Unique
55 instance Eq (GenTyVar a)
56 instance Ord3 (GenTyVar a)
57 instance Outputable (GenTyVar a)
58 instance (Outputable a) => Outputable (GenId a)
59 instance (Eq a, Outputable a, Eq b, Outputable b) => Outputable (GenType a b)
61 data MagicUnfoldingFun
62 data FormSummary = WhnfForm | BottomForm | OtherForm
66 | OtherLitForm [Literal]
67 | ConForm (GenId (GenType (GenTyVar (GenUsage Unique)) Unique)) [GenCoreArg (GenId (GenType (GenTyVar (GenUsage Unique)) Unique)) (GenTyVar (GenUsage Unique)) Unique]
68 | OtherConForm [GenId (GenType (GenTyVar (GenUsage Unique)) Unique)]
69 | GenForm Bool FormSummary (GenCoreExpr (GenId (GenType (GenTyVar (GenUsage Unique)) Unique), BinderInfo) (GenId (GenType (GenTyVar (GenUsage Unique)) Unique)) (GenTyVar (GenUsage Unique)) Unique) UnfoldingGuidance
70 | MagicForm _PackedString MagicUnfoldingFun
72 data UnfoldingGuidance
76 | UnfoldIfGoodArgs Int Int [Bool] Int