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 ( MagicUnfoldingFun )
21 import Outputable ( Outputable(..) )
22 import PprStyle ( PprStyle )
23 import PprType ( pprParendType )
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 pprParendType :: (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 type IdEnv a = UniqFM a
46 type CoreExpr = GenCoreExpr (GenId (GenType (GenTyVar (GenUsage Unique)) Unique))
47 (GenId (GenType (GenTyVar (GenUsage Unique)) Unique))
48 (GenTyVar (GenUsage Unique)) Unique
50 instance Outputable UnfoldingGuidance
52 instance Outputable Unique
53 instance Eq (GenTyVar a)
54 instance Ord3 (GenTyVar a)
55 instance Outputable (GenTyVar a)
56 instance (Outputable a) => Outputable (GenId a)
57 instance (Eq a, Outputable a, Eq b, Outputable b) => Outputable (GenType a b)
59 data MagicUnfoldingFun
60 data FormSummary = WhnfForm | BottomForm | OtherForm
64 | OtherLitForm [Literal]
65 | ConForm (GenId (GenType (GenTyVar (GenUsage Unique)) Unique)) [GenCoreArg (GenId (GenType (GenTyVar (GenUsage Unique)) Unique)) (GenTyVar (GenUsage Unique)) Unique]
66 | OtherConForm [GenId (GenType (GenTyVar (GenUsage Unique)) Unique)]
67 | GenForm Bool FormSummary (GenCoreExpr (GenId (GenType (GenTyVar (GenUsage Unique)) Unique), BinderInfo) (GenId (GenType (GenTyVar (GenUsage Unique)) Unique)) (GenTyVar (GenUsage Unique)) Unique) UnfoldingGuidance
68 | MagicForm _PackedString MagicUnfoldingFun
70 data UnfoldingGuidance
74 | UnfoldIfGoodArgs Int Int [Bool] Int