65dd9a1aa00cf3ff292941b697d7bcf2aa3a5e25
[ghc.git] / testsuite / tests / simplCore / should_compile / spec-inline.stderr
1
2 ==================== Tidy Core ====================
3 Result size of Tidy Core
4   = {terms: 172, types: 62, coercions: 0, joins: 0/2}
5
6 -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
7 Roman.$trModule4 :: GHC.Prim.Addr#
8 [GblId,
9  Caf=NoCafRefs,
10  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
11          WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
12 Roman.$trModule4 = "main"#
13
14 -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
15 Roman.$trModule3 :: GHC.Types.TrName
16 [GblId,
17  Caf=NoCafRefs,
18  Str=m1,
19  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
20          WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
21 Roman.$trModule3 = GHC.Types.TrNameS Roman.$trModule4
22
23 -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
24 Roman.$trModule2 :: GHC.Prim.Addr#
25 [GblId,
26  Caf=NoCafRefs,
27  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
28          WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 0}]
29 Roman.$trModule2 = "Roman"#
30
31 -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
32 Roman.$trModule1 :: GHC.Types.TrName
33 [GblId,
34  Caf=NoCafRefs,
35  Str=m1,
36  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
37          WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
38 Roman.$trModule1 = GHC.Types.TrNameS Roman.$trModule2
39
40 -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
41 Roman.$trModule :: GHC.Types.Module
42 [GblId,
43  Caf=NoCafRefs,
44  Str=m,
45  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
46          WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
47 Roman.$trModule
48   = GHC.Types.Module Roman.$trModule3 Roman.$trModule1
49
50 -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
51 lvl :: GHC.Prim.Addr#
52 [GblId, Caf=NoCafRefs, Unf=OtherCon []]
53 lvl = "spec-inline.hs:(19,5)-(29,25)|function go"#
54
55 -- RHS size: {terms: 2, types: 2, coercions: 0, joins: 0/0}
56 Roman.foo3 :: Int
57 [GblId, Str=x]
58 Roman.foo3
59   = Control.Exception.Base.patError @ 'GHC.Types.LiftedRep @ Int lvl
60
61 Rec {
62 -- RHS size: {terms: 52, types: 6, coercions: 0, joins: 0/1}
63 Roman.foo_$s$wgo [Occ=LoopBreaker]
64   :: GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.Int#
65 [GblId, Arity=2, Caf=NoCafRefs, Str=<S,U><S,U>, Unf=OtherCon []]
66 Roman.foo_$s$wgo
67   = \ (sc :: GHC.Prim.Int#) (sc1 :: GHC.Prim.Int#) ->
68       let {
69         m :: GHC.Prim.Int#
70         [LclId]
71         m = GHC.Prim.+#
72               (GHC.Prim.+#
73                  (GHC.Prim.+#
74                     (GHC.Prim.+# (GHC.Prim.+# (GHC.Prim.+# sc sc) sc) sc) sc)
75                  sc)
76               sc } in
77       case GHC.Prim.<=# sc1 0# of {
78         __DEFAULT ->
79           case GHC.Prim.<# sc1 100# of {
80             __DEFAULT ->
81               case GHC.Prim.<# sc1 500# of {
82                 __DEFAULT ->
83                   Roman.foo_$s$wgo (GHC.Prim.+# m m) (GHC.Prim.-# sc1 1#);
84                 1# -> Roman.foo_$s$wgo m (GHC.Prim.-# sc1 3#)
85               };
86             1# -> Roman.foo_$s$wgo sc (GHC.Prim.-# sc1 2#)
87           };
88         1# -> 0#
89       }
90 end Rec }
91
92 -- RHS size: {terms: 71, types: 19, coercions: 0, joins: 0/1}
93 Roman.$wgo [InlPrag=NOUSERINLINE[2]]
94   :: Maybe Int -> Maybe Int -> GHC.Prim.Int#
95 [GblId,
96  Arity=2,
97  Str=<S,1*U><S,1*U>,
98  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
99          WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 30] 253 0}]
100 Roman.$wgo
101   = \ (w :: Maybe Int) (w1 :: Maybe Int) ->
102       case w1 of {
103         Nothing -> case Roman.foo3 of wild1 { };
104         Just x ->
105           case x of { GHC.Types.I# ipv ->
106           let {
107             m :: GHC.Prim.Int#
108             [LclId]
109             m = GHC.Prim.+#
110                   (GHC.Prim.+#
111                      (GHC.Prim.+#
112                         (GHC.Prim.+# (GHC.Prim.+# (GHC.Prim.+# ipv ipv) ipv) ipv) ipv)
113                      ipv)
114                   ipv } in
115           case w of {
116             Nothing -> Roman.foo_$s$wgo m 10#;
117             Just n ->
118               case n of { GHC.Types.I# x2 ->
119               case GHC.Prim.<=# x2 0# of {
120                 __DEFAULT ->
121                   case GHC.Prim.<# x2 100# of {
122                     __DEFAULT ->
123                       case GHC.Prim.<# x2 500# of {
124                         __DEFAULT ->
125                           Roman.foo_$s$wgo (GHC.Prim.+# m m) (GHC.Prim.-# x2 1#);
126                         1# -> Roman.foo_$s$wgo m (GHC.Prim.-# x2 3#)
127                       };
128                     1# -> Roman.foo_$s$wgo ipv (GHC.Prim.-# x2 2#)
129                   };
130                 1# -> 0#
131               }
132               }
133           }
134           }
135       }
136
137 -- RHS size: {terms: 9, types: 5, coercions: 0, joins: 0/0}
138 Roman.foo_go [InlPrag=NOUSERINLINE[2]]
139   :: Maybe Int -> Maybe Int -> Int
140 [GblId,
141  Arity=2,
142  Str=<S,1*U><S,1*U>m,
143  Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
144          WorkFree=True, Expandable=True,
145          Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False)
146          Tmpl= \ (w [Occ=Once] :: Maybe Int) (w1 [Occ=Once] :: Maybe Int) ->
147                  case Roman.$wgo w w1 of ww [Occ=Once] { __DEFAULT ->
148                  GHC.Types.I# ww
149                  }}]
150 Roman.foo_go
151   = \ (w :: Maybe Int) (w1 :: Maybe Int) ->
152       case Roman.$wgo w w1 of ww { __DEFAULT -> GHC.Types.I# ww }
153
154 -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
155 Roman.foo2 :: Int
156 [GblId,
157  Caf=NoCafRefs,
158  Str=m,
159  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
160          WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
161 Roman.foo2 = GHC.Types.I# 6#
162
163 -- RHS size: {terms: 2, types: 1, coercions: 0, joins: 0/0}
164 Roman.foo1 :: Maybe Int
165 [GblId,
166  Caf=NoCafRefs,
167  Str=m2,
168  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
169          WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
170 Roman.foo1 = GHC.Base.Just @ Int Roman.foo2
171
172 -- RHS size: {terms: 11, types: 4, coercions: 0, joins: 0/0}
173 foo :: Int -> Int
174 [GblId,
175  Arity=1,
176  Caf=NoCafRefs,
177  Str=<S(S),1*U(U)>m,
178  Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
179          WorkFree=True, Expandable=True,
180          Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False)
181          Tmpl= \ (n [Occ=Once!] :: Int) ->
182                  case n of n1 [Occ=Once] { GHC.Types.I# _ [Occ=Dead] ->
183                  Roman.foo_go (GHC.Base.Just @ Int n1) Roman.foo1
184                  }}]
185 foo
186   = \ (n :: Int) ->
187       case n of { GHC.Types.I# ipv ->
188       case Roman.foo_$s$wgo 6# ipv of ww { __DEFAULT -> GHC.Types.I# ww }
189       }
190
191
192 ------ Local rules for imported ids --------
193 "SC:$wgo0" [2]
194     forall (sc :: GHC.Prim.Int#) (sc1 :: GHC.Prim.Int#).
195       Roman.$wgo (GHC.Base.Just @ Int (GHC.Types.I# sc1))
196                  (GHC.Base.Just @ Int (GHC.Types.I# sc))
197       = Roman.foo_$s$wgo sc sc1
198
199