60 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z13 -start-before=livevars -stop-after=register-coalescer %s -o - | FileCheck %s3# Test that coalesing of an empty live range (undef) does not cause failure.4 5---6name: fun7tracksRegLiveness: true8body: |9 ; CHECK-LABEL: name: fun10 ; CHECK: bb.0:11 ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000)12 ; CHECK-NEXT: liveins: $r2d, $r3d13 ; CHECK-NEXT: {{ $}}14 ; CHECK-NEXT: [[COPY:%[0-9]+]]:addr64bit = COPY $r3d15 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:addr64bit = COPY $r2d16 ; CHECK-NEXT: [[LHIMux:%[0-9]+]]:grx32bit = LHIMux 117 ; CHECK-NEXT: [[LHIMux1:%[0-9]+]]:grx32bit = LHIMux 018 ; CHECK-NEXT: CHIMux [[LHIMux1]], 0, implicit-def $cc19 ; CHECK-NEXT: BRC 14, 6, %bb.2, implicit killed $cc20 ; CHECK-NEXT: J %bb.121 ; CHECK-NEXT: {{ $}}22 ; CHECK-NEXT: bb.1:23 ; CHECK-NEXT: successors: %bb.2(0x80000000)24 ; CHECK-NEXT: {{ $}}25 ; CHECK-NEXT: [[LMux:%[0-9]+]]:gr32bit = LMux [[COPY1]], 0, $noreg :: (load (s32))26 ; CHECK-NEXT: undef [[LLILL:%[0-9]+]].subreg_h64:gr128bit = LLILL 027 ; CHECK-NEXT: [[LLILL:%[0-9]+]]:gr128bit = DLR [[LLILL]], [[LMux]]28 ; CHECK-NEXT: [[LHIMux:%[0-9]+]]:grx32bit = COPY [[LLILL]].subreg_ll3229 ; CHECK-NEXT: {{ $}}30 ; CHECK-NEXT: bb.2:31 ; CHECK-NEXT: STMux [[LHIMux]], [[COPY]], 0, $noreg :: (store (s32))32 ; CHECK-NEXT: Return33 bb.0:34 liveins: $r2d, $r3d35 36 %5:addr64bit = COPY $r3d37 %4:addr64bit = COPY $r2d38 %6:grx32bit = LHIMux 139 %7:grx32bit = LHIMux 040 CHIMux killed %7, 0, implicit-def $cc41 BRC 14, 6, %bb.2, implicit $cc42 J %bb.143 44 bb.1:45 %1:gr32bit = LMux %4, 0, $noreg :: (load (s32))46 %15:gr64bit = LLILL 047 %14:gr128bit = INSERT_SUBREG undef %13:gr128bit, %15, %subreg.subreg_h6448 %11:gr128bit = INSERT_SUBREG %14, undef %9:gr64bit, %subreg.subreg_l6449 %12:gr128bit = DLR %11, %150 %2:grx32bit = COPY %12.subreg_ll3251 52 bb.2:53 %3:grx32bit = PHI %6, %bb.0, %2, %bb.154 STMux %3, %5, 0, $noreg :: (store (s32))55 Return56 57...58## NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:59# CHECK: {{.*}}60