Merge branch 'master' of http://darcs.haskell.org/testsuite
[ghc.git] / testsuite / tests / simplCore / should_compile / spec-inline.stderr
1
2 ==================== Tidy Core ====================
3 Result size of Tidy Core = {terms: 140, types: 55, 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 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 -> case Roman.foo3 of wild1 { };
56       Data.Maybe.Just x ->
57         case x of _ { GHC.Types.I# ipv ->
58         let {
59           a [Dmd=Just L] :: GHC.Prim.Int#
60           [LclId, Str=DmdType]
61           a =
62             GHC.Prim.+#
63               (GHC.Prim.+#
64                  (GHC.Prim.+#
65                     (GHC.Prim.+# (GHC.Prim.+# (GHC.Prim.+# ipv ipv) ipv) ipv) ipv)
66                  ipv)
67               ipv } in
68         case w of _ {
69           Data.Maybe.Nothing -> Roman.foo_$s$wgo 10 a;
70           Data.Maybe.Just n ->
71             case n of _ { GHC.Types.I# x2 ->
72             case GHC.Prim.<=# x2 0 of _ {
73               GHC.Types.False ->
74                 case GHC.Prim.<# x2 100 of _ {
75                   GHC.Types.False ->
76                     case GHC.Prim.<# x2 500 of _ {
77                       GHC.Types.False ->
78                         Roman.foo_$s$wgo (GHC.Prim.-# x2 1) (GHC.Prim.+# a a);
79                       GHC.Types.True -> Roman.foo_$s$wgo (GHC.Prim.-# x2 3) a
80                     };
81                   GHC.Types.True -> Roman.foo_$s$wgo (GHC.Prim.-# x2 2) ipv
82                 };
83               GHC.Types.True -> 0
84             }
85             }
86         }
87         }
88     }
89
90 Roman.foo_go [InlPrag=INLINE[0]]
91   :: Data.Maybe.Maybe GHC.Types.Int
92      -> Data.Maybe.Maybe GHC.Types.Int -> GHC.Types.Int
93 [GblId,
94  Arity=2,
95  Str=DmdType SSm,
96  Unf=Unf{Src=Worker=Roman.$wgo, TopLvl=True, Arity=2, Value=True,
97          ConLike=True, Cheap=True, Expandable=True,
98          Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False)
99          Tmpl= \ (w [Occ=Once] :: Data.Maybe.Maybe GHC.Types.Int)
100                  (w1 [Occ=Once] :: Data.Maybe.Maybe GHC.Types.Int) ->
101                  case Roman.$wgo w w1 of ww { __DEFAULT -> GHC.Types.I# ww }}]
102 Roman.foo_go =
103   \ (w :: Data.Maybe.Maybe GHC.Types.Int)
104     (w1 :: Data.Maybe.Maybe GHC.Types.Int) ->
105     case Roman.$wgo w w1 of ww { __DEFAULT -> GHC.Types.I# ww }
106
107 Roman.foo2 :: GHC.Types.Int
108 [GblId,
109  Caf=NoCafRefs,
110  Str=DmdType m,
111  Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=True,
112          ConLike=True, Cheap=True, Expandable=True,
113          Guidance=IF_ARGS [] 10 110}]
114 Roman.foo2 = GHC.Types.I# 6
115
116 Roman.foo1 :: Data.Maybe.Maybe GHC.Types.Int
117 [GblId,
118  Caf=NoCafRefs,
119  Str=DmdType,
120  Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=True,
121          ConLike=True, Cheap=True, Expandable=True,
122          Guidance=IF_ARGS [] 10 110}]
123 Roman.foo1 = Data.Maybe.Just @ GHC.Types.Int Roman.foo2
124
125 Roman.foo :: GHC.Types.Int -> GHC.Types.Int
126 [GblId,
127  Arity=1,
128  Caf=NoCafRefs,
129  Str=DmdType S(A)m,
130  Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True,
131          ConLike=True, Cheap=True, Expandable=True,
132          Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False)
133          Tmpl= \ (n [Occ=Once!] :: GHC.Types.Int) ->
134                  case n of n1 { GHC.Types.I# _ ->
135                  Roman.foo_go (Data.Maybe.Just @ GHC.Types.Int n1) Roman.foo1
136                  }}]
137 Roman.foo =
138   \ (n :: GHC.Types.Int) ->
139     case n of _ { GHC.Types.I# ipv ->
140     case Roman.foo_$s$wgo ipv 6 of ww { __DEFAULT -> GHC.Types.I# ww }
141     }
142
143
144 ------ Local rules for imported ids --------
145 "SC:$wgo0" [ALWAYS]
146     forall (sc :: GHC.Prim.Int#) (sc1 :: GHC.Prim.Int#).
147       Roman.$wgo (Data.Maybe.Just @ GHC.Types.Int (GHC.Types.I# sc))
148                  (Data.Maybe.Just @ GHC.Types.Int (GHC.Types.I# sc1))
149       = Roman.foo_$s$wgo sc sc1
150
151