Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / Mips / const4a.ll
blob757629de5da351cb946f966729869a7285c0c043
1 ; RUN: llc -mtriple=mipsel-linux-gnu -march=mipsel -mattr=mips16 -mattr=+soft-float -mips16-hard-float -relocation-model=pic -mips16-constant-islands -mips-constant-islands-no-load-relaxation  < %s | FileCheck %s -check-prefix=no-load-relax
3 ; ModuleID = 'const4.c'
4 target datalayout = "E-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64"
5 target triple = "mips--linux-gnu"
7 @i = common global i32 0, align 4
8 @b = common global i32 0, align 4
9 @j = common global i32 0, align 4
10 @k = common global i32 0, align 4
11 @l = common global i32 0, align 4
13 ; Function Attrs: nounwind
14 define void @t() #0 {
15 entry:
16   store i32 -559023410, ptr @i, align 4
17   %0 = load i32, ptr @b, align 4
18 ; no-load-relax:        lw      ${{[0-9]+}}, $CPI0_1    # 16 bit inst
19   %tobool = icmp ne i32 %0, 0
20   br i1 %tobool, label %if.then, label %if.else
21 ; no-load-relax:        beqz    ${{[0-9]+}}, $BB0_3
22 ; no-load-relax:        lw      ${{[0-9]+}}, %call16(foo)(${{[0-9]+}})
23 ; no-load-relax:        b       $BB0_4
24 ; no-load-relax:        .p2align        2
25 ; no-load-relax: $CPI0_1:
26 ; no-load-relax:        .4byte  3735943886
27 ; no-load-relax: $BB0_3:
28 ; no-load-relax:        lw      ${{[0-9]+}}, %call16(goo)(${{[0-9]+}})
29 if.then:                                          ; preds = %entry
30   call void @foo()
31   br label %if.end
33 if.else:                                          ; preds = %entry
34   call void @goo()
35   br label %if.end
37 if.end:                                           ; preds = %if.else, %if.then
38   call void @hoo()
39   call void @hoo()
40   call void @hoo()
41   call void @hoo()
42   call void @hoo()
43   call void @hoo()
44   call void @hoo()
45   call void @hoo()
46   call void @hoo()
47   call void @hoo()
48   call void @hoo()
49   call void @hoo()
50   call void @hoo()
51   call void @hoo()
52   call void @hoo()
53   call void @hoo()
54   call void @hoo()
55   call void @hoo()
56   call void @hoo()
57   call void @hoo()
58   call void @hoo()
59   call void @hoo()
60   call void @hoo()
61   call void @hoo()
62   call void @hoo()
63   call void @hoo()
64   call void @hoo()
65   call void @hoo()
66   call void @hoo()
67   call void @hoo()
68   call void @hoo()
69   call void @hoo()
70   call void @hoo()
71   call void @hoo()
72   call void @hoo()
73   call void @hoo()
74   call void @hoo()
75   call void @hoo()
76   call void @hoo()
77   call void @hoo()
78   call void @hoo()
79   call void @hoo()
80   call void @hoo()
81   call void @hoo()
82   call void @hoo()
83   call void @hoo()
84   call void @hoo()
85   call void @hoo()
86   call void @hoo()
87   call void @hoo()
88   call void @hoo()
89   call void @hoo()
90   call void @hoo()
91   call void @hoo()
92   call void @hoo()
93   call void @hoo()
94   call void @hoo()
95   call void @hoo()
96   call void @hoo()
97   call void @hoo()
98   call void @hoo()
99   call void @hoo()
100   call void @hoo()
101   call void @hoo()
102   call void @hoo()
103   call void @hoo()
104   call void @hoo()
105   call void @hoo()
106   call void @hoo()
107   call void @hoo()
108   call void @hoo()
109   call void @hoo()
110   call void @hoo()
111   call void @hoo()
112   call void @hoo()
113   call void @hoo()
114   call void @hoo()
115   call void @hoo()
116   call void @hoo()
117   call void @hoo()
118   call void @hoo()
119   call void @hoo()
120   call void @hoo()
121   call void @hoo()
122   call void @hoo()
123   call void @hoo()
124   call void @hoo()
125   call void @hoo()
126   call void @hoo()
127   call void @hoo()
128   call void @hoo()
129   call void @hoo()
130   call void @hoo()
131   call void @hoo()
132   call void @hoo()
133   call void @hoo()
134   call void @hoo()
135   call void @hoo()
136   call void @hoo()
137   call void @hoo()
138   call void @hoo()
139   call void @hoo()
140   call void @hoo()
141   call void @hoo()
142   call void @hoo()
143   call void @hoo()
144   call void @hoo()
145   call void @hoo()
146   call void @hoo()
147   call void @hoo()
148   call void @hoo()
149   call void @hoo()
150   call void @hoo()
151   call void @hoo()
152   call void @hoo()
153   call void @hoo()
154   call void @hoo()
155   call void @hoo()
156   call void @hoo()
157   call void @hoo()
158   call void @hoo()
159   call void @hoo()
160   call void @hoo()
161   call void @hoo()
162   call void @hoo()
163   call void @hoo()
164   call void @hoo()
165   call void @hoo()
166   ret void
169 declare void @foo(...) #1
171 declare void @goo(...) #1
173 declare void @hoo(...) #1
175 attributes #0 = { nounwind "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="true" }
176 attributes #1 = { "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="true" }
178 !llvm.ident = !{!0}
180 !0 = !{!"clang version 3.4 (gitosis@dmz-portal.mips.com:clang.git b310439121c875937d78cc49cc969bc1197fc025) (gitosis@dmz-portal.mips.com:llvm.git 7fc0ca9656ebec8dad61f72f5a5ddfb232c070fd)"}