Mercurial > hg > CbC > CbC_llvm
comparison llvm/test/CodeGen/AMDGPU/coalesce-identity-copies-undef-subregs.mir @ 236:c4bab56944e8 llvm-original
LLVM 16
author | kono |
---|---|
date | Wed, 09 Nov 2022 17:45:10 +0900 |
parents | 79ff65ed7e25 |
children | 1f2b6ac9f198 |
comparison
equal
deleted
inserted
replaced
232:70dce7da266c | 236:c4bab56944e8 |
---|---|
13 name: identity_copy_undef_subrange | 13 name: identity_copy_undef_subrange |
14 tracksRegLiveness: true | 14 tracksRegLiveness: true |
15 body: | | 15 body: | |
16 ; CHECK-LABEL: name: identity_copy_undef_subrange | 16 ; CHECK-LABEL: name: identity_copy_undef_subrange |
17 ; CHECK: bb.0: | 17 ; CHECK: bb.0: |
18 ; CHECK: successors: %bb.1(0x80000000) | 18 ; CHECK-NEXT: successors: %bb.1(0x80000000) |
19 ; CHECK: liveins: $vgpr0 | 19 ; CHECK-NEXT: liveins: $vgpr0 |
20 ; CHECK: undef %0.sub1:vreg_64 = COPY $vgpr0 | 20 ; CHECK-NEXT: {{ $}} |
21 ; CHECK: bb.1: | 21 ; CHECK-NEXT: undef %0.sub1:vreg_64 = COPY $vgpr0 |
22 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000) | 22 ; CHECK-NEXT: {{ $}} |
23 ; CHECK: S_CBRANCH_EXECNZ %bb.1, implicit $exec | 23 ; CHECK-NEXT: bb.1: |
24 ; CHECK: S_BRANCH %bb.2 | 24 ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000) |
25 ; CHECK: bb.2: | 25 ; CHECK-NEXT: {{ $}} |
26 ; CHECK: successors: %bb.1(0x80000000) | 26 ; CHECK-NEXT: S_CBRANCH_EXECNZ %bb.1, implicit $exec |
27 ; CHECK: undef %0.sub1:vreg_64 = nofpexcept V_CEIL_F32_e32 %0.sub1, implicit $mode, implicit $exec | 27 ; CHECK-NEXT: S_BRANCH %bb.2 |
28 ; CHECK: S_BRANCH %bb.1 | 28 ; CHECK-NEXT: {{ $}} |
29 ; CHECK-NEXT: bb.2: | |
30 ; CHECK-NEXT: successors: %bb.1(0x80000000) | |
31 ; CHECK-NEXT: {{ $}} | |
32 ; CHECK-NEXT: undef %0.sub1:vreg_64 = nofpexcept V_CEIL_F32_e32 %0.sub1, implicit $mode, implicit $exec | |
33 ; CHECK-NEXT: S_BRANCH %bb.1 | |
29 bb.0: | 34 bb.0: |
30 liveins: $vgpr0 | 35 liveins: $vgpr0 |
31 | 36 |
32 undef %0.sub1:vreg_64 = COPY killed $vgpr0 | 37 undef %0.sub1:vreg_64 = COPY killed $vgpr0 |
33 | 38 |
49 name: identity_copy_undef_subrange_other_uses0 | 54 name: identity_copy_undef_subrange_other_uses0 |
50 tracksRegLiveness: true | 55 tracksRegLiveness: true |
51 body: | | 56 body: | |
52 ; CHECK-LABEL: name: identity_copy_undef_subrange_other_uses0 | 57 ; CHECK-LABEL: name: identity_copy_undef_subrange_other_uses0 |
53 ; CHECK: bb.0: | 58 ; CHECK: bb.0: |
54 ; CHECK: successors: %bb.1(0x80000000) | 59 ; CHECK-NEXT: successors: %bb.1(0x80000000) |
55 ; CHECK: liveins: $vgpr0 | 60 ; CHECK-NEXT: liveins: $vgpr0 |
56 ; CHECK: undef %0.sub1:vreg_64 = COPY $vgpr0 | 61 ; CHECK-NEXT: {{ $}} |
57 ; CHECK: bb.1: | 62 ; CHECK-NEXT: undef %0.sub1:vreg_64 = COPY $vgpr0 |
58 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000) | 63 ; CHECK-NEXT: {{ $}} |
59 ; CHECK: S_NOP 0, implicit undef %0.sub0 | 64 ; CHECK-NEXT: bb.1: |
60 ; CHECK: S_NOP 0, implicit undef %0.sub0 | 65 ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000) |
61 ; CHECK: S_CBRANCH_EXECNZ %bb.1, implicit $exec | 66 ; CHECK-NEXT: {{ $}} |
62 ; CHECK: S_BRANCH %bb.2 | 67 ; CHECK-NEXT: S_NOP 0, implicit undef %0.sub0 |
63 ; CHECK: bb.2: | 68 ; CHECK-NEXT: S_NOP 0, implicit undef %0.sub0 |
64 ; CHECK: successors: %bb.1(0x80000000) | 69 ; CHECK-NEXT: S_CBRANCH_EXECNZ %bb.1, implicit $exec |
65 ; CHECK: undef %0.sub1:vreg_64 = nofpexcept V_CEIL_F32_e32 %0.sub1, implicit $mode, implicit $exec | 70 ; CHECK-NEXT: S_BRANCH %bb.2 |
66 ; CHECK: S_BRANCH %bb.1 | 71 ; CHECK-NEXT: {{ $}} |
72 ; CHECK-NEXT: bb.2: | |
73 ; CHECK-NEXT: successors: %bb.1(0x80000000) | |
74 ; CHECK-NEXT: {{ $}} | |
75 ; CHECK-NEXT: undef %0.sub1:vreg_64 = nofpexcept V_CEIL_F32_e32 %0.sub1, implicit $mode, implicit $exec | |
76 ; CHECK-NEXT: S_BRANCH %bb.1 | |
67 bb.0: | 77 bb.0: |
68 liveins: $vgpr0 | 78 liveins: $vgpr0 |
69 undef %0.sub1:vreg_64 = COPY killed $vgpr0 | 79 undef %0.sub1:vreg_64 = COPY killed $vgpr0 |
70 | 80 |
71 bb.1: | 81 bb.1: |
87 name: second_identity_copy | 97 name: second_identity_copy |
88 tracksRegLiveness: true | 98 tracksRegLiveness: true |
89 body: | | 99 body: | |
90 ; CHECK-LABEL: name: second_identity_copy | 100 ; CHECK-LABEL: name: second_identity_copy |
91 ; CHECK: bb.0: | 101 ; CHECK: bb.0: |
92 ; CHECK: successors: %bb.1(0x80000000) | 102 ; CHECK-NEXT: successors: %bb.1(0x80000000) |
93 ; CHECK: liveins: $vgpr0 | 103 ; CHECK-NEXT: liveins: $vgpr0 |
94 ; CHECK: undef %0.sub1:vreg_64 = COPY $vgpr0 | 104 ; CHECK-NEXT: {{ $}} |
95 ; CHECK: bb.1: | 105 ; CHECK-NEXT: undef %0.sub1:vreg_64 = COPY $vgpr0 |
96 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000) | 106 ; CHECK-NEXT: {{ $}} |
97 ; CHECK: S_CBRANCH_EXECNZ %bb.1, implicit $exec | 107 ; CHECK-NEXT: bb.1: |
98 ; CHECK: S_BRANCH %bb.2 | 108 ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000) |
99 ; CHECK: bb.2: | 109 ; CHECK-NEXT: {{ $}} |
100 ; CHECK: successors: %bb.1(0x80000000) | 110 ; CHECK-NEXT: S_CBRANCH_EXECNZ %bb.1, implicit $exec |
101 ; CHECK: undef %0.sub1:vreg_64 = nofpexcept V_MUL_F32_e32 0, %0.sub1, implicit $mode, implicit $exec | 111 ; CHECK-NEXT: S_BRANCH %bb.2 |
102 ; CHECK: S_BRANCH %bb.1 | 112 ; CHECK-NEXT: {{ $}} |
113 ; CHECK-NEXT: bb.2: | |
114 ; CHECK-NEXT: successors: %bb.1(0x80000000) | |
115 ; CHECK-NEXT: {{ $}} | |
116 ; CHECK-NEXT: undef %0.sub1:vreg_64 = nofpexcept V_MUL_F32_e32 0, %0.sub1, implicit $mode, implicit $exec | |
117 ; CHECK-NEXT: S_BRANCH %bb.1 | |
103 bb.0: | 118 bb.0: |
104 liveins: $vgpr0 | 119 liveins: $vgpr0 |
105 | 120 |
106 undef %0.sub1:vreg_64 = COPY killed $vgpr0 | 121 undef %0.sub1:vreg_64 = COPY killed $vgpr0 |
107 | 122 |
123 name: second_identity_copy_undef_lane_outblock | 138 name: second_identity_copy_undef_lane_outblock |
124 tracksRegLiveness: true | 139 tracksRegLiveness: true |
125 body: | | 140 body: | |
126 ; CHECK-LABEL: name: second_identity_copy_undef_lane_outblock | 141 ; CHECK-LABEL: name: second_identity_copy_undef_lane_outblock |
127 ; CHECK: bb.0: | 142 ; CHECK: bb.0: |
128 ; CHECK: successors: %bb.1(0x80000000) | 143 ; CHECK-NEXT: successors: %bb.1(0x80000000) |
129 ; CHECK: liveins: $vgpr0 | 144 ; CHECK-NEXT: liveins: $vgpr0 |
130 ; CHECK: undef %0.sub1:vreg_64 = COPY $vgpr0 | 145 ; CHECK-NEXT: {{ $}} |
131 ; CHECK: bb.1: | 146 ; CHECK-NEXT: undef %0.sub1:vreg_64 = COPY $vgpr0 |
132 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000) | 147 ; CHECK-NEXT: {{ $}} |
133 ; CHECK: S_CBRANCH_EXECNZ %bb.1, implicit $exec | 148 ; CHECK-NEXT: bb.1: |
134 ; CHECK: S_BRANCH %bb.2 | 149 ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000) |
135 ; CHECK: bb.2: | 150 ; CHECK-NEXT: {{ $}} |
136 ; CHECK: successors: %bb.1(0x80000000) | 151 ; CHECK-NEXT: S_CBRANCH_EXECNZ %bb.1, implicit $exec |
137 ; CHECK: %0.sub1:vreg_64 = nofpexcept V_MUL_F32_e32 0, %0.sub1, implicit $mode, implicit $exec | 152 ; CHECK-NEXT: S_BRANCH %bb.2 |
138 ; CHECK: S_BRANCH %bb.1 | 153 ; CHECK-NEXT: {{ $}} |
154 ; CHECK-NEXT: bb.2: | |
155 ; CHECK-NEXT: successors: %bb.1(0x80000000) | |
156 ; CHECK-NEXT: {{ $}} | |
157 ; CHECK-NEXT: %0.sub1:vreg_64 = nofpexcept V_MUL_F32_e32 0, %0.sub1, implicit $mode, implicit $exec | |
158 ; CHECK-NEXT: S_BRANCH %bb.1 | |
139 bb.0: | 159 bb.0: |
140 liveins: $vgpr0 | 160 liveins: $vgpr0 |
141 | 161 |
142 undef %0.sub1:vreg_64 = COPY killed $vgpr0 | 162 undef %0.sub1:vreg_64 = COPY killed $vgpr0 |
143 | 163 |
160 name: identity_copy_undef_subrange_null_vninfo_to_remove | 180 name: identity_copy_undef_subrange_null_vninfo_to_remove |
161 tracksRegLiveness: true | 181 tracksRegLiveness: true |
162 body: | | 182 body: | |
163 ; CHECK-LABEL: name: identity_copy_undef_subrange_null_vninfo_to_remove | 183 ; CHECK-LABEL: name: identity_copy_undef_subrange_null_vninfo_to_remove |
164 ; CHECK: bb.0: | 184 ; CHECK: bb.0: |
165 ; CHECK: successors: %bb.1(0x80000000) | 185 ; CHECK-NEXT: successors: %bb.1(0x80000000) |
166 ; CHECK: liveins: $vgpr0 | 186 ; CHECK-NEXT: liveins: $vgpr0 |
167 ; CHECK: undef %0.sub1:vreg_64 = COPY $vgpr0 | 187 ; CHECK-NEXT: {{ $}} |
168 ; CHECK: bb.1: | 188 ; CHECK-NEXT: undef %0.sub1:vreg_64 = COPY $vgpr0 |
169 ; CHECK: successors: %bb.3(0x40000000), %bb.2(0x40000000) | 189 ; CHECK-NEXT: {{ $}} |
170 ; CHECK: S_CBRANCH_EXECNZ %bb.3, implicit $exec | 190 ; CHECK-NEXT: bb.1: |
171 ; CHECK: bb.2: | 191 ; CHECK-NEXT: successors: %bb.3(0x40000000), %bb.2(0x40000000) |
172 ; CHECK: successors: %bb.1(0x80000000) | 192 ; CHECK-NEXT: {{ $}} |
173 ; CHECK: S_NOP 0, implicit undef %0.sub0 | 193 ; CHECK-NEXT: S_CBRANCH_EXECNZ %bb.3, implicit $exec |
174 ; CHECK: undef %0.sub1:vreg_64 = nofpexcept V_CEIL_F32_e32 %0.sub1, implicit $mode, implicit $exec | 194 ; CHECK-NEXT: {{ $}} |
175 ; CHECK: S_BRANCH %bb.1 | 195 ; CHECK-NEXT: bb.2: |
176 ; CHECK: bb.3: | 196 ; CHECK-NEXT: successors: %bb.1(0x80000000) |
177 ; CHECK: S_NOP 0, implicit undef %0.sub0 | 197 ; CHECK-NEXT: {{ $}} |
198 ; CHECK-NEXT: S_NOP 0, implicit undef %0.sub0 | |
199 ; CHECK-NEXT: undef %0.sub1:vreg_64 = nofpexcept V_CEIL_F32_e32 %0.sub1, implicit $mode, implicit $exec | |
200 ; CHECK-NEXT: S_BRANCH %bb.1 | |
201 ; CHECK-NEXT: {{ $}} | |
202 ; CHECK-NEXT: bb.3: | |
203 ; CHECK-NEXT: S_NOP 0, implicit undef %0.sub0 | |
178 bb.0: | 204 bb.0: |
179 liveins: $vgpr0 | 205 liveins: $vgpr0 |
180 | 206 |
181 undef %0.sub1:vreg_64 = COPY killed $vgpr0 | 207 undef %0.sub1:vreg_64 = COPY killed $vgpr0 |
182 | 208 |
198 name: undef_copy_self_loop0 | 224 name: undef_copy_self_loop0 |
199 tracksRegLiveness: true | 225 tracksRegLiveness: true |
200 body: | | 226 body: | |
201 ; CHECK-LABEL: name: undef_copy_self_loop0 | 227 ; CHECK-LABEL: name: undef_copy_self_loop0 |
202 ; CHECK: bb.0: | 228 ; CHECK: bb.0: |
203 ; CHECK: successors: %bb.1(0x80000000) | 229 ; CHECK-NEXT: successors: %bb.1(0x80000000) |
204 ; CHECK: liveins: $vgpr0 | 230 ; CHECK-NEXT: liveins: $vgpr0 |
205 ; CHECK: undef %0.sub1:vreg_64 = COPY $vgpr0 | 231 ; CHECK-NEXT: {{ $}} |
206 ; CHECK: bb.1: | 232 ; CHECK-NEXT: undef %0.sub1:vreg_64 = COPY $vgpr0 |
207 ; CHECK: successors: %bb.1(0x40000000), %bb.2(0x40000000) | 233 ; CHECK-NEXT: {{ $}} |
208 ; CHECK: S_CBRANCH_EXECNZ %bb.1, implicit $exec | 234 ; CHECK-NEXT: bb.1: |
209 ; CHECK: bb.2: | 235 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000) |
210 ; CHECK: S_NOP 0, implicit undef %0.sub0 | 236 ; CHECK-NEXT: {{ $}} |
237 ; CHECK-NEXT: S_CBRANCH_EXECNZ %bb.1, implicit $exec | |
238 ; CHECK-NEXT: {{ $}} | |
239 ; CHECK-NEXT: bb.2: | |
240 ; CHECK-NEXT: S_NOP 0, implicit undef %0.sub0 | |
211 bb.0: | 241 bb.0: |
212 liveins: $vgpr0 | 242 liveins: $vgpr0 |
213 | 243 |
214 undef %0.sub1:vreg_64 = COPY killed $vgpr0 | 244 undef %0.sub1:vreg_64 = COPY killed $vgpr0 |
215 | 245 |
226 name: undef_copy_self_loop1 | 256 name: undef_copy_self_loop1 |
227 tracksRegLiveness: true | 257 tracksRegLiveness: true |
228 body: | | 258 body: | |
229 ; CHECK-LABEL: name: undef_copy_self_loop1 | 259 ; CHECK-LABEL: name: undef_copy_self_loop1 |
230 ; CHECK: bb.0: | 260 ; CHECK: bb.0: |
231 ; CHECK: successors: %bb.1(0x80000000) | 261 ; CHECK-NEXT: successors: %bb.1(0x80000000) |
232 ; CHECK: liveins: $vgpr0 | 262 ; CHECK-NEXT: liveins: $vgpr0 |
233 ; CHECK: undef %0.sub1:vreg_64 = COPY $vgpr0 | 263 ; CHECK-NEXT: {{ $}} |
234 ; CHECK: bb.1: | 264 ; CHECK-NEXT: undef %0.sub1:vreg_64 = COPY $vgpr0 |
235 ; CHECK: successors: %bb.1(0x40000000), %bb.2(0x40000000) | 265 ; CHECK-NEXT: {{ $}} |
236 ; CHECK: S_CBRANCH_EXECNZ %bb.1, implicit $exec | 266 ; CHECK-NEXT: bb.1: |
237 ; CHECK: bb.2: | 267 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000) |
238 ; CHECK: S_NOP 0, implicit %0.sub1 | 268 ; CHECK-NEXT: {{ $}} |
269 ; CHECK-NEXT: S_CBRANCH_EXECNZ %bb.1, implicit $exec | |
270 ; CHECK-NEXT: {{ $}} | |
271 ; CHECK-NEXT: bb.2: | |
272 ; CHECK-NEXT: S_NOP 0, implicit %0.sub1 | |
239 bb.0: | 273 bb.0: |
240 liveins: $vgpr0 | 274 liveins: $vgpr0 |
241 | 275 |
242 undef %0.sub1:vreg_64 = COPY killed $vgpr0 | 276 undef %0.sub1:vreg_64 = COPY killed $vgpr0 |
243 | 277 |
256 name: prune_subrange_phi_value_0 | 290 name: prune_subrange_phi_value_0 |
257 tracksRegLiveness: true | 291 tracksRegLiveness: true |
258 body: | | 292 body: | |
259 ; CHECK-LABEL: name: prune_subrange_phi_value_0 | 293 ; CHECK-LABEL: name: prune_subrange_phi_value_0 |
260 ; CHECK: bb.0: | 294 ; CHECK: bb.0: |
261 ; CHECK: successors: %bb.1(0x80000000) | 295 ; CHECK-NEXT: successors: %bb.1(0x80000000) |
262 ; CHECK: liveins: $vgpr0 | 296 ; CHECK-NEXT: liveins: $vgpr0 |
263 ; CHECK: undef %2.sub1:vreg_64 = COPY $vgpr0 | 297 ; CHECK-NEXT: {{ $}} |
264 ; CHECK: bb.1: | 298 ; CHECK-NEXT: undef %2.sub1:vreg_64 = COPY $vgpr0 |
265 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000) | 299 ; CHECK-NEXT: {{ $}} |
266 ; CHECK: S_CBRANCH_EXECNZ %bb.1, implicit $exec | 300 ; CHECK-NEXT: bb.1: |
267 ; CHECK: S_BRANCH %bb.2 | 301 ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000) |
268 ; CHECK: bb.2: | 302 ; CHECK-NEXT: {{ $}} |
269 ; CHECK: successors: %bb.1(0x80000000) | 303 ; CHECK-NEXT: S_CBRANCH_EXECNZ %bb.1, implicit $exec |
270 ; CHECK: S_BRANCH %bb.1 | 304 ; CHECK-NEXT: S_BRANCH %bb.2 |
305 ; CHECK-NEXT: {{ $}} | |
306 ; CHECK-NEXT: bb.2: | |
307 ; CHECK-NEXT: successors: %bb.1(0x80000000) | |
308 ; CHECK-NEXT: {{ $}} | |
309 ; CHECK-NEXT: S_BRANCH %bb.1 | |
271 bb.0: | 310 bb.0: |
272 liveins: $vgpr0 | 311 liveins: $vgpr0 |
273 | 312 |
274 undef %0.sub1:vreg_64 = COPY killed $vgpr0 | 313 undef %0.sub1:vreg_64 = COPY killed $vgpr0 |
275 | 314 |
292 name: prune_subrange_phi_value_0_0 | 331 name: prune_subrange_phi_value_0_0 |
293 tracksRegLiveness: true | 332 tracksRegLiveness: true |
294 body: | | 333 body: | |
295 ; CHECK-LABEL: name: prune_subrange_phi_value_0_0 | 334 ; CHECK-LABEL: name: prune_subrange_phi_value_0_0 |
296 ; CHECK: bb.0: | 335 ; CHECK: bb.0: |
297 ; CHECK: successors: %bb.1(0x80000000) | 336 ; CHECK-NEXT: successors: %bb.1(0x80000000) |
298 ; CHECK: liveins: $vgpr0 | 337 ; CHECK-NEXT: liveins: $vgpr0 |
299 ; CHECK: undef %0.sub1:vreg_64 = COPY $vgpr0 | 338 ; CHECK-NEXT: {{ $}} |
300 ; CHECK: bb.1: | 339 ; CHECK-NEXT: undef %0.sub1:vreg_64 = COPY $vgpr0 |
301 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000) | 340 ; CHECK-NEXT: {{ $}} |
302 ; CHECK: S_CBRANCH_EXECNZ %bb.1, implicit $exec | 341 ; CHECK-NEXT: bb.1: |
303 ; CHECK: S_BRANCH %bb.2 | 342 ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000) |
304 ; CHECK: bb.2: | 343 ; CHECK-NEXT: {{ $}} |
305 ; CHECK: successors: %bb.1(0x80000000) | 344 ; CHECK-NEXT: S_CBRANCH_EXECNZ %bb.1, implicit $exec |
306 ; CHECK: S_BRANCH %bb.1 | 345 ; CHECK-NEXT: S_BRANCH %bb.2 |
346 ; CHECK-NEXT: {{ $}} | |
347 ; CHECK-NEXT: bb.2: | |
348 ; CHECK-NEXT: successors: %bb.1(0x80000000) | |
349 ; CHECK-NEXT: {{ $}} | |
350 ; CHECK-NEXT: S_BRANCH %bb.1 | |
307 bb.0: | 351 bb.0: |
308 liveins: $vgpr0 | 352 liveins: $vgpr0 |
309 | 353 |
310 undef %0.sub1:vreg_64 = COPY killed $vgpr0 | 354 undef %0.sub1:vreg_64 = COPY killed $vgpr0 |
311 | 355 |
327 name: prune_subrange_phi_value_0_1 | 371 name: prune_subrange_phi_value_0_1 |
328 tracksRegLiveness: true | 372 tracksRegLiveness: true |
329 body: | | 373 body: | |
330 ; CHECK-LABEL: name: prune_subrange_phi_value_0_1 | 374 ; CHECK-LABEL: name: prune_subrange_phi_value_0_1 |
331 ; CHECK: bb.0: | 375 ; CHECK: bb.0: |
332 ; CHECK: successors: %bb.1(0x80000000) | 376 ; CHECK-NEXT: successors: %bb.1(0x80000000) |
333 ; CHECK: liveins: $vgpr0 | 377 ; CHECK-NEXT: liveins: $vgpr0 |
334 ; CHECK: undef %0.sub1:vreg_64 = COPY $vgpr0 | 378 ; CHECK-NEXT: {{ $}} |
335 ; CHECK: bb.1: | 379 ; CHECK-NEXT: undef %0.sub1:vreg_64 = COPY $vgpr0 |
336 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000) | 380 ; CHECK-NEXT: {{ $}} |
337 ; CHECK: S_CBRANCH_EXECNZ %bb.1, implicit $exec | 381 ; CHECK-NEXT: bb.1: |
338 ; CHECK: S_BRANCH %bb.2 | 382 ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000) |
339 ; CHECK: bb.2: | 383 ; CHECK-NEXT: {{ $}} |
340 ; CHECK: successors: %bb.1(0x80000000) | 384 ; CHECK-NEXT: S_CBRANCH_EXECNZ %bb.1, implicit $exec |
341 ; CHECK: S_BRANCH %bb.1 | 385 ; CHECK-NEXT: S_BRANCH %bb.2 |
386 ; CHECK-NEXT: {{ $}} | |
387 ; CHECK-NEXT: bb.2: | |
388 ; CHECK-NEXT: successors: %bb.1(0x80000000) | |
389 ; CHECK-NEXT: {{ $}} | |
390 ; CHECK-NEXT: S_BRANCH %bb.1 | |
342 bb.0: | 391 bb.0: |
343 liveins: $vgpr0 | 392 liveins: $vgpr0 |
344 | 393 |
345 undef %0.sub1:vreg_64 = COPY killed $vgpr0 | 394 undef %0.sub1:vreg_64 = COPY killed $vgpr0 |
346 | 395 |
363 name: prune_subrange_phi_value_1 | 412 name: prune_subrange_phi_value_1 |
364 tracksRegLiveness: true | 413 tracksRegLiveness: true |
365 body: | | 414 body: | |
366 ; CHECK-LABEL: name: prune_subrange_phi_value_1 | 415 ; CHECK-LABEL: name: prune_subrange_phi_value_1 |
367 ; CHECK: bb.0: | 416 ; CHECK: bb.0: |
368 ; CHECK: successors: %bb.1(0x80000000) | 417 ; CHECK-NEXT: successors: %bb.1(0x80000000) |
369 ; CHECK: liveins: $vgpr0 | 418 ; CHECK-NEXT: liveins: $vgpr0 |
370 ; CHECK: undef %0.sub1:vreg_64 = COPY $vgpr0 | 419 ; CHECK-NEXT: {{ $}} |
371 ; CHECK: bb.1: | 420 ; CHECK-NEXT: undef %0.sub1:vreg_64 = COPY $vgpr0 |
372 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000) | 421 ; CHECK-NEXT: {{ $}} |
373 ; CHECK: S_CBRANCH_EXECNZ %bb.1, implicit $exec | 422 ; CHECK-NEXT: bb.1: |
374 ; CHECK: S_BRANCH %bb.2 | 423 ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000) |
375 ; CHECK: bb.2: | 424 ; CHECK-NEXT: {{ $}} |
376 ; CHECK: successors: %bb.1(0x80000000) | 425 ; CHECK-NEXT: S_CBRANCH_EXECNZ %bb.1, implicit $exec |
377 ; CHECK: undef %0.sub1:vreg_64 = nofpexcept V_CEIL_F32_e32 %0.sub1, implicit $mode, implicit $exec | 426 ; CHECK-NEXT: S_BRANCH %bb.2 |
378 ; CHECK: S_BRANCH %bb.1 | 427 ; CHECK-NEXT: {{ $}} |
428 ; CHECK-NEXT: bb.2: | |
429 ; CHECK-NEXT: successors: %bb.1(0x80000000) | |
430 ; CHECK-NEXT: {{ $}} | |
431 ; CHECK-NEXT: undef %0.sub1:vreg_64 = nofpexcept V_CEIL_F32_e32 %0.sub1, implicit $mode, implicit $exec | |
432 ; CHECK-NEXT: S_BRANCH %bb.1 | |
379 bb.0: | 433 bb.0: |
380 liveins: $vgpr0 | 434 liveins: $vgpr0 |
381 | 435 |
382 undef %0.sub1:vreg_64 = COPY killed $vgpr0 | 436 undef %0.sub1:vreg_64 = COPY killed $vgpr0 |
383 | 437 |
399 name: prune_subrange_phi_value_2 | 453 name: prune_subrange_phi_value_2 |
400 tracksRegLiveness: true | 454 tracksRegLiveness: true |
401 body: | | 455 body: | |
402 ; CHECK-LABEL: name: prune_subrange_phi_value_2 | 456 ; CHECK-LABEL: name: prune_subrange_phi_value_2 |
403 ; CHECK: bb.0: | 457 ; CHECK: bb.0: |
404 ; CHECK: successors: %bb.1(0x80000000) | 458 ; CHECK-NEXT: successors: %bb.1(0x80000000) |
405 ; CHECK: liveins: $vgpr0 | 459 ; CHECK-NEXT: liveins: $vgpr0 |
406 ; CHECK: undef %0.sub1:vreg_64 = COPY $vgpr0 | 460 ; CHECK-NEXT: {{ $}} |
407 ; CHECK: bb.1: | 461 ; CHECK-NEXT: undef %0.sub1:vreg_64 = COPY $vgpr0 |
408 ; CHECK: successors: %bb.2(0x40000000), %bb.1(0x40000000) | 462 ; CHECK-NEXT: {{ $}} |
409 ; CHECK: S_CBRANCH_EXECNZ %bb.1, implicit $exec | 463 ; CHECK-NEXT: bb.1: |
410 ; CHECK: S_BRANCH %bb.2 | 464 ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000) |
411 ; CHECK: bb.2: | 465 ; CHECK-NEXT: {{ $}} |
412 ; CHECK: successors: %bb.1(0x80000000) | 466 ; CHECK-NEXT: S_CBRANCH_EXECNZ %bb.1, implicit $exec |
413 ; CHECK: %0.sub1:vreg_64 = nofpexcept V_CEIL_F32_e32 %0.sub1, implicit $mode, implicit $exec | 467 ; CHECK-NEXT: S_BRANCH %bb.2 |
414 ; CHECK: S_BRANCH %bb.1 | 468 ; CHECK-NEXT: {{ $}} |
469 ; CHECK-NEXT: bb.2: | |
470 ; CHECK-NEXT: successors: %bb.1(0x80000000) | |
471 ; CHECK-NEXT: {{ $}} | |
472 ; CHECK-NEXT: %0.sub1:vreg_64 = nofpexcept V_CEIL_F32_e32 %0.sub1, implicit $mode, implicit $exec | |
473 ; CHECK-NEXT: S_BRANCH %bb.1 | |
415 bb.0: | 474 bb.0: |
416 liveins: $vgpr0 | 475 liveins: $vgpr0 |
417 | 476 |
418 undef %0.sub1:vreg_64 = COPY killed $vgpr0 | 477 undef %0.sub1:vreg_64 = COPY killed $vgpr0 |
419 | 478 |