@@ -136,6 +136,7 @@ body: |
136
136
; CHECK-NEXT: successors: %bb.1(0x80000000)
137
137
; CHECK-NEXT: liveins: $vgpr0
138
138
; CHECK-NEXT: {{ $}}
139
+ ; CHECK-NEXT: S_SINGLEUSE_VDST 1
139
140
; CHECK-NEXT: $vgpr1 = V_MOV_B32_e32 $vgpr0, implicit $exec
140
141
; CHECK-NEXT: $vgpr2 = V_ADD_U32_e32 $vgpr1, $vgpr1, implicit $exec
141
142
; CHECK-NEXT: {{ $}}
@@ -278,6 +279,31 @@ body: |
278
279
liveins: $vgpr2, $vgpr3
279
280
...
280
281
282
+ # Second use is an instruction that reads and writes v1.
283
+ ---
284
+ name : multiple_uses_4
285
+ tracksRegLiveness : true
286
+ body : |
287
+ ; CHECK-LABEL: name: multiple_uses_4
288
+ ; CHECK: bb.0:
289
+ ; CHECK-NEXT: successors: %bb.1(0x80000000)
290
+ ; CHECK-NEXT: liveins: $vgpr0
291
+ ; CHECK-NEXT: {{ $}}
292
+ ; CHECK-NEXT: $vgpr1 = V_ADD_U32_e32 $vgpr0, $vgpr0, implicit $exec
293
+ ; CHECK-NEXT: $vgpr2 = V_ADD_U32_e32 $vgpr0, $vgpr1, implicit $exec
294
+ ; CHECK-NEXT: $vgpr1 = V_ADD_U32_e32 $vgpr0, $vgpr1, implicit $exec
295
+ ; CHECK-NEXT: {{ $}}
296
+ ; CHECK-NEXT: bb.1:
297
+ ; CHECK-NEXT: liveins: $vgpr0, $vgpr1, $vgpr2
298
+ bb.0:
299
+ liveins: $vgpr0
300
+ $vgpr1 = V_ADD_U32_e32 $vgpr0, $vgpr0, implicit $exec
301
+ $vgpr2 = V_ADD_U32_e32 $vgpr0, $vgpr1, implicit $exec
302
+ $vgpr1 = V_ADD_U32_e32 $vgpr0, $vgpr1, implicit $exec
303
+ bb.1:
304
+ liveins: $vgpr0, $vgpr1, $vgpr2
305
+ ...
306
+
281
307
# Results are live-in to another basic block.
282
308
---
283
309
name : basic_block_1
@@ -398,7 +424,6 @@ body: |
398
424
; CHECK-NEXT: successors: %bb.1(0x80000000)
399
425
; CHECK-NEXT: liveins: $sgpr0_sgpr1
400
426
; CHECK-NEXT: {{ $}}
401
- ; CHECK-NEXT: S_SINGLEUSE_VDST 1
402
427
; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec
403
428
; CHECK-NEXT: $exec = COPY $sgpr0_sgpr1
404
429
; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 $vgpr0, implicit $exec
@@ -424,7 +449,6 @@ body: |
424
449
; CHECK-NEXT: successors: %bb.1(0x80000000)
425
450
; CHECK-NEXT: liveins: $sgpr0
426
451
; CHECK-NEXT: {{ $}}
427
- ; CHECK-NEXT: S_SINGLEUSE_VDST 1
428
452
; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec
429
453
; CHECK-NEXT: $exec_lo = COPY $sgpr0
430
454
; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 $vgpr0, implicit $exec
@@ -450,7 +474,6 @@ body: |
450
474
; CHECK-NEXT: successors: %bb.1(0x80000000)
451
475
; CHECK-NEXT: liveins: $sgpr0
452
476
; CHECK-NEXT: {{ $}}
453
- ; CHECK-NEXT: S_SINGLEUSE_VDST 1
454
477
; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec
455
478
; CHECK-NEXT: $exec_hi = COPY $sgpr0
456
479
; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 $vgpr0, implicit $exec
0 commit comments