Merge /Users/benl/devel/testsuite/roldugin/testsuite
[ghc.git] / testsuite / tests / simplCore / should_compile / spec-inline.stderr
1
2 ==================== Tidy Core ====================
3 Result size = 155
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 LL]
15 Roman.foo_$s$wgo =
16   \ (sc :: GHC.Prim.Int#) (sc1 :: GHC.Prim.Int#) ->
17     let {
18       a [Dmd=Just L] :: 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.<=# sc 0 of _ {
28       GHC.Types.False ->
29         case GHC.Prim.<# sc 100 of _ {
30           GHC.Types.False ->
31             case GHC.Prim.<# sc 500 of _ {
32               GHC.Types.False ->
33                 Roman.foo_$s$wgo (GHC.Prim.-# sc 1) (GHC.Prim.+# a a);
34               GHC.Types.True -> Roman.foo_$s$wgo (GHC.Prim.-# sc 3) a
35             };
36           GHC.Types.True -> Roman.foo_$s$wgo (GHC.Prim.-# sc 2) sc1
37         };
38       GHC.Types.True -> 0
39     }
40 end Rec }
41
42 Roman.$wgo
43   :: Data.Maybe.Maybe GHC.Types.Int
44      -> Data.Maybe.Maybe GHC.Types.Int -> GHC.Prim.Int#
45 [GblId,
46  Arity=2,
47  Str=DmdType SS,
48  Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=2, Value=True,
49          ConLike=True, Cheap=True, Expandable=True,
50          Guidance=IF_ARGS [60 30] 253 0}]
51 Roman.$wgo =
52   \ (w :: Data.Maybe.Maybe GHC.Types.Int)
53     (w1 :: Data.Maybe.Maybe GHC.Types.Int) ->
54     case w1 of _ {
55       Data.Maybe.Nothing ->
56         Roman.foo3
57         `cast` (UnsafeCo GHC.Types.Int GHC.Prim.Int#
58                 :: GHC.Types.Int ~ GHC.Prim.Int#);
59       Data.Maybe.Just x ->
60         case x of _ { GHC.Types.I# ipv ->
61         let {
62           a [Dmd=Just L] :: GHC.Prim.Int#
63           [LclId, Str=DmdType]
64           a =
65             GHC.Prim.+#
66               (GHC.Prim.+#
67                  (GHC.Prim.+#
68                     (GHC.Prim.+# (GHC.Prim.+# (GHC.Prim.+# ipv ipv) ipv) ipv) ipv)
69                  ipv)
70               ipv } in
71         case w of _ {
72           Data.Maybe.Nothing -> Roman.foo_$s$wgo 10 a;
73           Data.Maybe.Just n ->
74             case n of _ { GHC.Types.I# x2 ->
75             case GHC.Prim.<=# x2 0 of _ {
76               GHC.Types.False ->
77                 case GHC.Prim.<# x2 100 of _ {
78                   GHC.Types.False ->
79                     case GHC.Prim.<# x2 500 of _ {
80                       GHC.Types.False ->
81                         Roman.foo_$s$wgo (GHC.Prim.-# x2 1) (GHC.Prim.+# a a);
82                       GHC.Types.True -> Roman.foo_$s$wgo (GHC.Prim.-# x2 3) a
83                     };
84                   GHC.Types.True -> Roman.foo_$s$wgo (GHC.Prim.-# x2 2) ipv
85                 };
86               GHC.Types.True -> 0
87             }
88             }
89         }
90         }
91     }
92
93 Roman.foo_go [InlPrag=INLINE[0]]
94   :: Data.Maybe.Maybe GHC.Types.Int
95      -> Data.Maybe.Maybe GHC.Types.Int -> GHC.Types.Int
96 [GblId,
97  Arity=2,
98  Str=DmdType SSm,
99  Unf=Unf{Src=Worker=Roman.$wgo, TopLvl=True, Arity=2, Value=True,
100          ConLike=True, Cheap=True, Expandable=True,
101          Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False)
102          Tmpl= \ (w [Occ=Once] :: Data.Maybe.Maybe GHC.Types.Int)
103                  (w1 [Occ=Once] :: Data.Maybe.Maybe GHC.Types.Int) ->
104                  case Roman.$wgo w w1 of ww { __DEFAULT -> GHC.Types.I# ww }}]
105 Roman.foo_go =
106   \ (w :: Data.Maybe.Maybe GHC.Types.Int)
107     (w1 :: Data.Maybe.Maybe GHC.Types.Int) ->
108     case Roman.$wgo w w1 of ww { __DEFAULT -> GHC.Types.I# ww }
109
110 Roman.foo2 :: GHC.Types.Int
111 [GblId,
112  Caf=NoCafRefs,
113  Str=DmdType m,
114  Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=True,
115          ConLike=True, Cheap=True, Expandable=True,
116          Guidance=IF_ARGS [] 10 110}]
117 Roman.foo2 = GHC.Types.I# 6
118
119 Roman.foo1 :: Data.Maybe.Maybe GHC.Types.Int
120 [GblId,
121  Caf=NoCafRefs,
122  Str=DmdType,
123  Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=True,
124          ConLike=True, Cheap=True, Expandable=True,
125          Guidance=IF_ARGS [] 10 110}]
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(A)m,
133  Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True,
134          ConLike=True, Cheap=True, Expandable=True,
135          Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False)
136          Tmpl= \ (n [Occ=Once!] :: GHC.Types.Int) ->
137                  case n of n1 { GHC.Types.I# _ ->
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 _ { 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" [ALWAYS]
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