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