brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · b988aec Raw
53 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx803 -run-pass register-coalescer -verify-machineinstrs -o - %s | FileCheck %s3#4# This is another example of a test giving "Couldn't join subrange!"5#6# This shows a case where a whole reg use point of the whole register was7# undefined in one subreg, but after coalescing it became defined but the8# subrange was not updated to reflect that.9#10 11---12name: coalescing_makes_lane_defined13tracksRegLiveness: true14body:             |15  ; CHECK-LABEL: name: coalescing_makes_lane_defined16  ; CHECK: bb.0:17  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)18  ; CHECK-NEXT: {{  $}}19  ; CHECK-NEXT:   undef [[S_MOV_B32_:%[0-9]+]].sub2:sgpr_128 = S_MOV_B32 020  ; CHECK-NEXT:   dead undef [[S_MOV_B32_1:%[0-9]+]].sub0:sgpr_128 = S_MOV_B32 021  ; CHECK-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit undef $scc22  ; CHECK-NEXT: {{  $}}23  ; CHECK-NEXT: bb.1:24  ; CHECK-NEXT:   successors: %bb.2(0x80000000)25  ; CHECK-NEXT: {{  $}}26  ; CHECK-NEXT:   [[S_MOV_B32_:%[0-9]+]].sub0:sgpr_128 = S_MOV_B32 -127  ; CHECK-NEXT: {{  $}}28  ; CHECK-NEXT: bb.2:29  ; CHECK-NEXT:   S_NOP 0, implicit [[S_MOV_B32_]]30  bb.0:31    successors: %bb.1, %bb.232 33    %0:sreg_32_xm0 = S_MOV_B32 034    undef %1.sub2:sgpr_128 = COPY %035    undef %2.sub0:sgpr_128 = S_MOV_B32 036    undef %3.sub2:sgpr_128 = COPY %037    S_CBRANCH_SCC0 %bb.2, implicit undef $scc38 39  bb.1:40    successors: %bb.241 42    undef %4.sub0:sgpr_128 = S_MOV_B32 -143    %4.sub2:sgpr_128 = COPY killed %044    %5:sgpr_128 = COPY killed %445    %6:sgpr_128 = COPY killed %146    %3:sgpr_128 = COPY killed %647    %2:sgpr_128 = COPY killed %548 49  bb.2:50    S_NOP 0, implicit killed %351 52...53