1e11fd618bb14b76b7e6b82012d9e1d1ca0660f2
[ghc.git] / testsuite / tests / simplCore / should_compile / spec-inline.stderr
1
2 ==================== Tidy Core ====================
3 Result size of Tidy Core = {terms: 162, types: 61, coercions: 0}
4
5 Roman.foo3 :: GHC.Types.Int
6 [GblId, Str=DmdType b]
7 Roman.foo3 =
8   Control.Exception.Base.patError
9     @ GHC.Types.Int "spec-inline.hs:(19,5)-(29,25)|function go"#
10
11 Rec {
12 Roman.foo_$s$wgo [Occ=LoopBreaker]
13   :: GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.Int#
14 [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType <L,U><L,U>]
15 Roman.foo_$s$wgo =
16   \ (sc :: GHC.Prim.Int#) (sc1 :: GHC.Prim.Int#) ->
17     let {
18       a :: GHC.Prim.Int#
19       [LclId, Str=DmdType]
20       a =
21         GHC.Prim.+#
22           (GHC.Prim.+#
23              (GHC.Prim.+#
24                 (GHC.Prim.+# (GHC.Prim.+# (GHC.Prim.+# sc1 sc1) sc1) sc1) sc1)
25              sc1)
26           sc1 } in
27     case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# sc 0)
28     of _ [Occ=Dead] {
29       GHC.Types.False ->
30         case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# sc 100)
31         of _ [Occ=Dead] {
32           GHC.Types.False ->
33             case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# sc 500)
34             of _ [Occ=Dead] {
35               GHC.Types.False ->
36                 Roman.foo_$s$wgo (GHC.Prim.-# sc 1) (GHC.Prim.+# a a);
37               GHC.Types.True -> Roman.foo_$s$wgo (GHC.Prim.-# sc 3) a
38             };
39           GHC.Types.True -> Roman.foo_$s$wgo (GHC.Prim.-# sc 2) sc1
40         };
41       GHC.Types.True -> 0
42     }
43 end Rec }
44
45 Roman.$wgo [InlPrag=[0]]
46   :: Data.Maybe.Maybe GHC.Types.Int
47      -> Data.Maybe.Maybe GHC.Types.Int -> GHC.Prim.Int#
48 [GblId,
49  Arity=2,
50  Str=DmdType <S,1*U><S,1*U>,
51  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
52          WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 30] 256 0}]
53 Roman.$wgo =
54   \ (w :: Data.Maybe.Maybe GHC.Types.Int)
55     (w1 :: Data.Maybe.Maybe GHC.Types.Int) ->
56     case w1 of _ [Occ=Dead] {
57       Data.Maybe.Nothing -> case Roman.foo3 of wild1 { };
58       Data.Maybe.Just x ->
59         case x of _ [Occ=Dead] { GHC.Types.I# ipv ->
60         let {
61           a :: GHC.Prim.Int#
62           [LclId, Str=DmdType]
63           a =
64             GHC.Prim.+#
65               (GHC.Prim.+#
66                  (GHC.Prim.+#
67                     (GHC.Prim.+# (GHC.Prim.+# (GHC.Prim.+# ipv ipv) ipv) ipv) ipv)
68                  ipv)
69               ipv } in
70         case w of _ [Occ=Dead] {
71           Data.Maybe.Nothing -> Roman.foo_$s$wgo 10 a;
72           Data.Maybe.Just n ->
73             case n of _ [Occ=Dead] { GHC.Types.I# x2 ->
74             case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# x2 0)
75             of _ [Occ=Dead] {
76               GHC.Types.False ->
77                 case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x2 100)
78                 of _ [Occ=Dead] {
79                   GHC.Types.False ->
80                     case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x2 500)
81                     of _ [Occ=Dead] {
82                       GHC.Types.False ->
83                         Roman.foo_$s$wgo (GHC.Prim.-# x2 1) (GHC.Prim.+# a a);
84                       GHC.Types.True -> Roman.foo_$s$wgo (GHC.Prim.-# x2 3) a
85                     };
86                   GHC.Types.True -> Roman.foo_$s$wgo (GHC.Prim.-# x2 2) ipv
87                 };
88               GHC.Types.True -> 0
89             }
90             }
91         }
92         }
93     }
94
95 Roman.foo_go [InlPrag=INLINE[0]]
96   :: Data.Maybe.Maybe GHC.Types.Int
97      -> Data.Maybe.Maybe GHC.Types.Int -> GHC.Types.Int
98 [GblId,
99  Arity=2,
100  Str=DmdType <S,1*U><S,1*U>m,
101  Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
102          WorkFree=True, Expandable=True,
103          Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False)
104          Tmpl= \ (w [Occ=Once] :: Data.Maybe.Maybe GHC.Types.Int)
105                  (w1 [Occ=Once] :: Data.Maybe.Maybe GHC.Types.Int) ->
106                  case Roman.$wgo w w1 of ww { __DEFAULT -> GHC.Types.I# ww }}]
107 Roman.foo_go =
108   \ (w :: Data.Maybe.Maybe GHC.Types.Int)
109     (w1 :: Data.Maybe.Maybe GHC.Types.Int) ->
110     case Roman.$wgo w w1 of ww { __DEFAULT -> GHC.Types.I# ww }
111
112 Roman.foo2 :: GHC.Types.Int
113 [GblId,
114  Caf=NoCafRefs,
115  Str=DmdType m,
116  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
117          WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
118 Roman.foo2 = GHC.Types.I# 6
119
120 Roman.foo1 :: Data.Maybe.Maybe GHC.Types.Int
121 [GblId,
122  Caf=NoCafRefs,
123  Str=DmdType m2,
124  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
125          WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
126 Roman.foo1 = Data.Maybe.Just @ GHC.Types.Int Roman.foo2
127
128 Roman.foo :: GHC.Types.Int -> GHC.Types.Int
129 [GblId,
130  Arity=1,
131  Caf=NoCafRefs,
132  Str=DmdType <S,1*U>m,
133  Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
134          WorkFree=True, Expandable=True,
135          Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False)
136          Tmpl= \ (n [Occ=Once!] :: GHC.Types.Int) ->
137                  case n of n1 { GHC.Types.I# _ [Occ=Dead] ->
138                  Roman.foo_go (Data.Maybe.Just @ GHC.Types.Int n1) Roman.foo1
139                  }}]
140 Roman.foo =
141   \ (n :: GHC.Types.Int) ->
142     case n of _ [Occ=Dead] { GHC.Types.I# ipv ->
143     case Roman.foo_$s$wgo ipv 6 of ww { __DEFAULT -> GHC.Types.I# ww }
144     }
145
146
147 ------ Local rules for imported ids --------
148 "SC:$wgo0" [0]
149     forall (sc :: GHC.Prim.Int#) (sc1 :: GHC.Prim.Int#).
150       Roman.$wgo (Data.Maybe.Just @ GHC.Types.Int (GHC.Types.I# sc))
151                  (Data.Maybe.Just @ GHC.Types.Int (GHC.Types.I# sc1))
152       = Roman.foo_$s$wgo sc sc1
153
154