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