1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
==================== Tidy Core ====================
Result size of Tidy Core = {terms: 45, types: 17, coercions: 0}
-- RHS size: {terms: 2, types: 0, coercions: 0}
T4930.$trModule2 :: GHC.Types.TrName
[GblId,
Caf=NoCafRefs,
Str=DmdType m1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}]
T4930.$trModule2 = GHC.Types.TrNameS "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T4930.$trModule1 :: GHC.Types.TrName
[GblId,
Caf=NoCafRefs,
Str=DmdType m1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}]
T4930.$trModule1 = GHC.Types.TrNameS "T4930"#
-- RHS size: {terms: 3, types: 0, coercions: 0}
T4930.$trModule :: GHC.Types.Module
[GblId[ReflectionId],
Caf=NoCafRefs,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
T4930.$trModule =
GHC.Types.Module T4930.$trModule2 T4930.$trModule1
Rec {
-- RHS size: {terms: 23, types: 6, coercions: 0}
T4930.$wfoo [InlPrag=[0], Occ=LoopBreaker]
:: GHC.Prim.Int# -> GHC.Prim.Int#
[GblId, Arity=1, Caf=NoCafRefs, Str=DmdType <L,U>]
T4930.$wfoo =
\ (ww :: GHC.Prim.Int#) ->
case case GHC.Prim.tagToEnum# @ Bool (GHC.Prim.<# ww 5#)
of _ [Occ=Dead] {
False -> GHC.Types.I# (GHC.Prim.+# ww 2#);
True ->
case T4930.$wfoo ww of ww1 { __DEFAULT -> GHC.Types.I# ww1 }
}
of _ [Occ=Dead] { GHC.Types.I# ipv ->
GHC.Prim.+# ww 5#
}
end Rec }
-- RHS size: {terms: 10, types: 4, coercions: 0}
foo [InlPrag=INLINE[0]] :: Int -> Int
[GblId,
Arity=1,
Caf=NoCafRefs,
Str=DmdType <S,1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False)
Tmpl= \ (w [Occ=Once!] :: Int) ->
case w of _ [Occ=Dead] { GHC.Types.I# ww1 [Occ=Once] ->
case T4930.$wfoo ww1 of ww2 { __DEFAULT -> GHC.Types.I# ww2 }
}}]
foo =
\ (w :: Int) ->
case w of _ [Occ=Dead] { GHC.Types.I# ww1 ->
case T4930.$wfoo ww1 of ww2 { __DEFAULT -> GHC.Types.I# ww2 }
}
|