127 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn-amd-amdhsa -verify-coalescing -run-pass=register-coalescer -verify-machineinstrs -o - %s | FileCheck %s3 4---5name: couldnt_join_subrange_implicit_def_pred_block6tracksRegLiveness: true7body: |8 ; CHECK-LABEL: name: couldnt_join_subrange_implicit_def_pred_block9 ; CHECK: bb.0:10 ; CHECK-NEXT: successors: %bb.1(0x80000000)11 ; CHECK-NEXT: {{ $}}12 ; CHECK-NEXT: undef [[DEF:%[0-9]+]].sub0:sreg_64_xexec = IMPLICIT_DEF13 ; CHECK-NEXT: {{ $}}14 ; CHECK-NEXT: bb.1:15 ; CHECK-NEXT: successors: %bb.2(0x80000000)16 ; CHECK-NEXT: {{ $}}17 ; CHECK-NEXT: [[DEF:%[0-9]+]].sub1:sreg_64_xexec = COPY [[DEF]].sub018 ; CHECK-NEXT: S_BRANCH %bb.219 ; CHECK-NEXT: {{ $}}20 ; CHECK-NEXT: bb.2:21 ; CHECK-NEXT: S_ENDPGM 0, implicit [[DEF]]22 bb.0:23 successors: %bb.124 25 undef %0.sub0:sreg_64_xexec = IMPLICIT_DEF26 27 bb.1:28 successors: %bb.229 30 %1:sreg_64 = COPY %0:sreg_64_xexec31 %0.sub1:sreg_64_xexec = COPY %0.sub0:sreg_64_xexec32 S_BRANCH %bb.233 34 bb.2:35 dead %2:sreg_32_xm0 = COPY %0.sub0:sreg_64_xexec36 S_ENDPGM 0, implicit killed %137 38...39---40name: couldnt_join_subrange_no_implicit_def_inst41tracksRegLiveness: true42body: |43 bb.0:44 ; CHECK-LABEL: name: couldnt_join_subrange_no_implicit_def_inst45 ; CHECK: undef [[S_MOV_B32_:%[0-9]+]].sub0:sreg_64 = S_MOV_B32 046 ; CHECK-NEXT: [[S_MOV_B32_:%[0-9]+]].sub1:sreg_64 = COPY [[S_MOV_B32_]].sub047 ; CHECK-NEXT: S_ENDPGM 0, implicit [[S_MOV_B32_]].sub148 undef %0.sub0:sreg_64 = S_MOV_B32 049 %1:sreg_64 = COPY %0:sreg_6450 %0.sub1:sreg_64 = COPY %0.sub0:sreg_6451 S_ENDPGM 0, implicit %1.sub1:sreg_6452 53...54---55name: couldnt_join_subrange056tracksRegLiveness: true57body: |58 ; CHECK-LABEL: name: couldnt_join_subrange059 ; CHECK: bb.0:60 ; CHECK-NEXT: successors: %bb.1(0x80000000)61 ; CHECK-NEXT: {{ $}}62 ; CHECK-NEXT: undef [[S_MOV_B32_:%[0-9]+]].sub1:sreg_64 = S_MOV_B32 -163 ; CHECK-NEXT: {{ $}}64 ; CHECK-NEXT: bb.1:65 ; CHECK-NEXT: [[S_MOV_B32_:%[0-9]+]].sub0:sreg_64 = S_MOV_B32 066 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY [[S_MOV_B32_]]67 ; CHECK-NEXT: dead [[S_MOV_B32_:%[0-9]+]].sub1:sreg_64 = COPY [[S_MOV_B32_]].sub068 ; CHECK-NEXT: S_ENDPGM 0, implicit [[COPY]].sub169 bb.0:70 successors: %bb.171 undef %0.sub1:sreg_64 = S_MOV_B32 -172 73 bb.1:74 %0.sub0:sreg_64 = S_MOV_B32 075 %1:sreg_64 = COPY %0:sreg_6476 dead %0.sub1:sreg_64 = COPY %0.sub0:sreg_6477 S_ENDPGM 0, implicit %1.sub1:sreg_6478 79...80---81name: lanes_not_tracked_subreg_join_couldnt_join_subrange82tracksRegLiveness: true83body: |84 bb.0:85 86 ; CHECK-LABEL: name: lanes_not_tracked_subreg_join_couldnt_join_subrange87 ; CHECK: undef [[S_MOV_B32_:%[0-9]+]].sub0:sreg_64_xexec = S_MOV_B32 088 ; CHECK-NEXT: [[S_MOV_B32_:%[0-9]+]].sub1:sreg_64_xexec = S_MOV_B32 089 ; CHECK-NEXT: S_NOP 0, implicit [[S_MOV_B32_]].sub190 ; CHECK-NEXT: S_NOP 0, implicit [[S_MOV_B32_]]91 ; CHECK-NEXT: S_ENDPGM 092 undef %0.sub0:sreg_64_xexec = S_MOV_B32 093 %1:sreg_64 = COPY %094 %0.sub1:sreg_64_xexec = S_MOV_B32 095 S_NOP 0, implicit %0.sub196 S_NOP 0, implicit %197 S_ENDPGM 098 99...100---101name: couldnt_join_subrange1102tracksRegLiveness: true103body: |104 ; CHECK-LABEL: name: couldnt_join_subrange1105 ; CHECK: bb.0:106 ; CHECK-NEXT: successors: %bb.1(0x80000000)107 ; CHECK-NEXT: {{ $}}108 ; CHECK-NEXT: undef [[S_MOV_B32_:%[0-9]+]].sub0:sreg_64_xexec = S_MOV_B32 0109 ; CHECK-NEXT: [[S_MOV_B32_:%[0-9]+]].sub1:sreg_64_xexec = COPY [[S_MOV_B32_]].sub0110 ; CHECK-NEXT: {{ $}}111 ; CHECK-NEXT: bb.1:112 ; CHECK-NEXT: S_NOP 0, implicit [[S_MOV_B32_]].sub1113 ; CHECK-NEXT: S_ENDPGM 0, implicit [[S_MOV_B32_]]114 bb.0:115 successors: %bb.1116 117 undef %0.sub0:sreg_64_xexec = S_MOV_B32 0118 %1:sreg_64 = COPY %0119 %0.sub1:sreg_64_xexec = COPY %0.sub0120 121 bb.1:122 123 S_NOP 0, implicit %0.sub1124 S_ENDPGM 0, implicit %1125 126...127