brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.3 KiB · 431e457 Raw
223 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc --mtriple=aarch64 %s -run-pass=pipeliner -pipeliner-mve-cg -o -| FileCheck %s3 4...5---6name:            foo7tracksRegLiveness: true8body:             |9  ; CHECK-LABEL: name: foo10  ; CHECK: bb.0:11  ; CHECK-NEXT:   successors: %bb.13(0x80000000)12  ; CHECK-NEXT:   liveins: $x013  ; CHECK-NEXT: {{  $}}14  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:gpr64common = COPY $x015  ; CHECK-NEXT:   [[COPY1:%[0-9]+]]:gpr64sp = COPY $xzr16  ; CHECK-NEXT:   [[COPY2:%[0-9]+]]:gpr64all = COPY [[COPY1]]17  ; CHECK-NEXT:   [[MOVi32imm:%[0-9]+]]:gpr32 = MOVi32imm 118  ; CHECK-NEXT:   [[SUBREG_TO_REG:%[0-9]+]]:gpr64sp = SUBREG_TO_REG 0, [[MOVi32imm]], %subreg.sub_3219  ; CHECK-NEXT: {{  $}}20  ; CHECK-NEXT: bb.13:21  ; CHECK-NEXT:   successors: %bb.14(0x80000000), %bb.15(0x00000000)22  ; CHECK-NEXT: {{  $}}23  ; CHECK-NEXT:   [[LDRDui:%[0-9]+]]:fpr64 = LDRDui [[COPY1]], 024  ; CHECK-NEXT:   [[SUBSXri:%[0-9]+]]:gpr64 = nsw SUBSXri [[SUBREG_TO_REG]], 1, 0, implicit-def $nzcv25  ; CHECK-NEXT:   [[COPY3:%[0-9]+]]:gpr64all = COPY [[SUBSXri]]26  ; CHECK-NEXT:   [[SUBREG_TO_REG1:%[0-9]+]]:gpr64all = SUBREG_TO_REG 0, [[MOVi32imm]], %subreg.sub_3227  ; CHECK-NEXT:   Bcc 0, %bb.15, implicit $nzcv28  ; CHECK-NEXT:   B %bb.1429  ; CHECK-NEXT: {{  $}}30  ; CHECK-NEXT: bb.14:31  ; CHECK-NEXT:   successors: %bb.15(0x04000000), %bb.14(0x7c000000)32  ; CHECK-NEXT: {{  $}}33  ; CHECK-NEXT:   [[PHI:%[0-9]+]]:gpr64sp = PHI [[COPY3]], %bb.13, %73, %bb.1434  ; CHECK-NEXT:   [[PHI1:%[0-9]+]]:gpr64 = PHI [[SUBREG_TO_REG1]], %bb.13, %72, %bb.1435  ; CHECK-NEXT:   [[PHI2:%[0-9]+]]:fpr64 = PHI [[LDRDui]], %bb.13, %70, %bb.1436  ; CHECK-NEXT:   STRDui [[PHI2]], [[COPY]], 037  ; CHECK-NEXT:   [[LDRDui1:%[0-9]+]]:fpr64 = LDRDui [[COPY1]], 038  ; CHECK-NEXT:   [[SUBSXri1:%[0-9]+]]:gpr64 = nsw SUBSXri [[PHI]], 1, 0, implicit-def $nzcv39  ; CHECK-NEXT:   [[SUBREG_TO_REG2:%[0-9]+]]:gpr64all = SUBREG_TO_REG 0, [[MOVi32imm]], %subreg.sub_3240  ; CHECK-NEXT:   [[COPY4:%[0-9]+]]:gpr64all = COPY [[SUBSXri1]]41  ; CHECK-NEXT:   Bcc 1, %bb.14, implicit $nzcv42  ; CHECK-NEXT:   B %bb.1543  ; CHECK-NEXT: {{  $}}44  ; CHECK-NEXT: bb.15:45  ; CHECK-NEXT:   successors: %bb.2(0x80000000)46  ; CHECK-NEXT: {{  $}}47  ; CHECK-NEXT:   [[PHI3:%[0-9]+]]:gpr64 = PHI [[COPY2]], %bb.13, [[PHI1]], %bb.1448  ; CHECK-NEXT:   [[PHI4:%[0-9]+]]:fpr64 = PHI [[LDRDui]], %bb.13, [[LDRDui1]], %bb.1449  ; CHECK-NEXT:   STRDui [[PHI4]], [[COPY]], 050  ; CHECK-NEXT:   B %bb.251  ; CHECK-NEXT: {{  $}}52  ; CHECK-NEXT: bb.2:53  ; CHECK-NEXT:   successors: %bb.3(0x80000000)54  ; CHECK-NEXT: {{  $}}55  ; CHECK-NEXT: bb.3:56  ; CHECK-NEXT:   successors: %bb.4(0x04000000), %bb.3(0x7c000000)57  ; CHECK-NEXT: {{  $}}58  ; CHECK-NEXT:   CBNZX [[PHI3]], %bb.359  ; CHECK-NEXT:   B %bb.460  ; CHECK-NEXT: {{  $}}61  ; CHECK-NEXT: bb.4:62  ; CHECK-NEXT:   successors: %bb.5(0x80000000)63  ; CHECK-NEXT: {{  $}}64  ; CHECK-NEXT:   [[FMOVD0_:%[0-9]+]]:fpr64 = FMOVD065  ; CHECK-NEXT: {{  $}}66  ; CHECK-NEXT: bb.5:67  ; CHECK-NEXT:   successors: %bb.7(0x80000000)68  ; CHECK-NEXT: {{  $}}69  ; CHECK-NEXT:   [[PHI5:%[0-9]+]]:fpr64 = PHI [[FMOVD0_]], %bb.4, %62, %bb.1270  ; CHECK-NEXT:   [[COPY5:%[0-9]+]]:gpr64all = COPY $xzr71  ; CHECK-NEXT:   [[COPY6:%[0-9]+]]:gpr64common = COPY [[COPY5]]72  ; CHECK-NEXT:   B %bb.773  ; CHECK-NEXT: {{  $}}74  ; CHECK-NEXT: bb.7:75  ; CHECK-NEXT:   successors: %bb.8(0x40000000), %bb.11(0x40000000)76  ; CHECK-NEXT: {{  $}}77  ; CHECK-NEXT:   [[ADDSXri:%[0-9]+]]:gpr64common = ADDSXri [[COPY6]], 1, 0, implicit-def $nzcv78  ; CHECK-NEXT:   [[CSINCXr:%[0-9]+]]:gpr64common = CSINCXr $xzr, $xzr, 3, implicit $nzcv79  ; CHECK-NEXT:   [[ADDSXri1:%[0-9]+]]:gpr64common = ADDSXri [[ADDSXri]], 1, 0, implicit-def $nzcv80  ; CHECK-NEXT:   [[CSINCXr1:%[0-9]+]]:gpr64common = CSINCXr [[CSINCXr]], [[CSINCXr]], 3, implicit $nzcv81  ; CHECK-NEXT:   [[ADDSXri2:%[0-9]+]]:gpr64common = ADDSXri [[ADDSXri1]], 1, 0, implicit-def $nzcv82  ; CHECK-NEXT:   [[CSINCXr2:%[0-9]+]]:gpr64common = CSINCXr [[CSINCXr1]], [[CSINCXr1]], 3, implicit $nzcv83  ; CHECK-NEXT:   [[ADDSXri3:%[0-9]+]]:gpr64 = ADDSXri [[ADDSXri2]], 1, 0, implicit-def $nzcv84  ; CHECK-NEXT:   [[CSINCXr3:%[0-9]+]]:gpr64common = CSINCXr [[CSINCXr2]], [[CSINCXr2]], 3, implicit $nzcv85  ; CHECK-NEXT:   dead $xzr = SUBSXri [[CSINCXr3]], 0, 0, implicit-def $nzcv86  ; CHECK-NEXT:   Bcc 0, %bb.8, implicit $nzcv87  ; CHECK-NEXT:   B %bb.1188  ; CHECK-NEXT: {{  $}}89  ; CHECK-NEXT: bb.8:90  ; CHECK-NEXT:   successors: %bb.9(0x80000000)91  ; CHECK-NEXT: {{  $}}92  ; CHECK-NEXT:   [[ADDSXri4:%[0-9]+]]:gpr64 = ADDSXri [[COPY6]], 1, 0, implicit-def $nzcv93  ; CHECK-NEXT:   [[UBFMXri:%[0-9]+]]:gpr64common = UBFMXri [[COPY6]], 61, 6094  ; CHECK-NEXT:   [[COPY7:%[0-9]+]]:gpr64common = COPY [[ADDSXri4]]95  ; CHECK-NEXT:   [[LDRDui2:%[0-9]+]]:fpr64 = LDRDui [[UBFMXri]], 196  ; CHECK-NEXT:   [[ADDSXri5:%[0-9]+]]:gpr64 = ADDSXri [[COPY7]], 1, 0, implicit-def $nzcv97  ; CHECK-NEXT:   [[UBFMXri1:%[0-9]+]]:gpr64common = UBFMXri [[COPY7]], 61, 6098  ; CHECK-NEXT:   [[COPY8:%[0-9]+]]:gpr64all = COPY [[ADDSXri5]]99  ; CHECK-NEXT: {{  $}}100  ; CHECK-NEXT: bb.9:101  ; CHECK-NEXT:   successors: %bb.9(0x40000000), %bb.10(0x40000000)102  ; CHECK-NEXT: {{  $}}103  ; CHECK-NEXT:   [[PHI6:%[0-9]+]]:gpr64 = PHI %38, %bb.9, [[ADDSXri4]], %bb.8104  ; CHECK-NEXT:   [[PHI7:%[0-9]+]]:gpr64common = PHI %40, %bb.9, [[UBFMXri]], %bb.8105  ; CHECK-NEXT:   [[PHI8:%[0-9]+]]:gpr64all = PHI %43, %bb.9, [[COPY7]], %bb.8106  ; CHECK-NEXT:   [[PHI9:%[0-9]+]]:fpr64 = PHI %45, %bb.9, [[LDRDui2]], %bb.8107  ; CHECK-NEXT:   [[PHI10:%[0-9]+]]:gpr64 = PHI %47, %bb.9, [[ADDSXri5]], %bb.8108  ; CHECK-NEXT:   [[PHI11:%[0-9]+]]:gpr64common = PHI %49, %bb.9, [[UBFMXri1]], %bb.8109  ; CHECK-NEXT:   [[PHI12:%[0-9]+]]:fpr64 = PHI %51, %bb.9, [[PHI5]], %bb.8110  ; CHECK-NEXT:   [[PHI13:%[0-9]+]]:gpr64common = PHI %53, %bb.9, [[COPY8]], %bb.8111  ; CHECK-NEXT:   [[LDRDui3:%[0-9]+]]:fpr64 = LDRDui [[PHI11]], 1112  ; CHECK-NEXT:   [[ADDSXri6:%[0-9]+]]:gpr64 = ADDSXri [[PHI13]], 1, 0, implicit-def $nzcv113  ; CHECK-NEXT:   [[UBFMXri2:%[0-9]+]]:gpr64common = UBFMXri [[PHI13]], 61, 60114  ; CHECK-NEXT:   [[FADDDrr:%[0-9]+]]:fpr64 = nofpexcept FADDDrr [[PHI12]], [[PHI9]], implicit $fpcr115  ; CHECK-NEXT:   [[COPY9:%[0-9]+]]:gpr64common = COPY [[ADDSXri6]]116  ; CHECK-NEXT:   [[LDRDui4:%[0-9]+]]:fpr64 = LDRDui [[UBFMXri2]], 1117  ; CHECK-NEXT:   [[ADDSXri7:%[0-9]+]]:gpr64common = ADDSXri [[COPY9]], 1, 0, implicit-def $nzcv118  ; CHECK-NEXT:   [[UBFMXri3:%[0-9]+]]:gpr64common = UBFMXri [[COPY9]], 61, 60119  ; CHECK-NEXT:   [[FADDDrr1:%[0-9]+]]:fpr64 = nofpexcept FADDDrr [[FADDDrr]], [[LDRDui3]], implicit $fpcr120  ; CHECK-NEXT:   [[COPY10:%[0-9]+]]:gpr64all = COPY [[ADDSXri7]]121  ; CHECK-NEXT:   [[CSINCXr4:%[0-9]+]]:gpr64common = CSINCXr $xzr, $xzr, 3, implicit $nzcv122  ; CHECK-NEXT:   [[ADDSXri8:%[0-9]+]]:gpr64 = ADDSXri [[ADDSXri7]], 1, 0, implicit-def $nzcv123  ; CHECK-NEXT:   [[CSINCXr5:%[0-9]+]]:gpr64common = CSINCXr [[CSINCXr4]], [[CSINCXr4]], 3, implicit $nzcv124  ; CHECK-NEXT:   dead $xzr = SUBSXri [[CSINCXr5]], 0, 0, implicit-def $nzcv125  ; CHECK-NEXT:   Bcc 0, %bb.9, implicit $nzcv126  ; CHECK-NEXT:   B %bb.10127  ; CHECK-NEXT: {{  $}}128  ; CHECK-NEXT: bb.10:129  ; CHECK-NEXT:   successors: %bb.11(0x40000000), %bb.12(0x40000000)130  ; CHECK-NEXT: {{  $}}131  ; CHECK-NEXT:   [[LDRDui5:%[0-9]+]]:fpr64 = LDRDui [[UBFMXri3]], 1132  ; CHECK-NEXT:   [[FADDDrr2:%[0-9]+]]:fpr64 = nofpexcept FADDDrr [[FADDDrr1]], [[LDRDui4]], implicit $fpcr133  ; CHECK-NEXT:   [[FADDDrr3:%[0-9]+]]:fpr64 = nofpexcept FADDDrr [[FADDDrr2]], [[LDRDui5]], implicit $fpcr134  ; CHECK-NEXT:   [[ADDSXri9:%[0-9]+]]:gpr64 = ADDSXri [[COPY9]], 1, 0, implicit-def $nzcv135  ; CHECK-NEXT:   [[CSINCXr6:%[0-9]+]]:gpr64common = CSINCXr $xzr, $xzr, 3, implicit $nzcv136  ; CHECK-NEXT:   dead $xzr = SUBSXri [[CSINCXr6]], 0, 0, implicit-def $nzcv137  ; CHECK-NEXT:   Bcc 0, %bb.11, implicit $nzcv138  ; CHECK-NEXT:   B %bb.12139  ; CHECK-NEXT: {{  $}}140  ; CHECK-NEXT: bb.11:141  ; CHECK-NEXT:   successors: %bb.6(0x80000000)142  ; CHECK-NEXT: {{  $}}143  ; CHECK-NEXT:   [[PHI14:%[0-9]+]]:gpr64common = PHI [[COPY6]], %bb.7, [[COPY10]], %bb.10144  ; CHECK-NEXT:   [[PHI15:%[0-9]+]]:fpr64 = PHI [[PHI5]], %bb.7, [[FADDDrr3]], %bb.10145  ; CHECK-NEXT:   B %bb.6146  ; CHECK-NEXT: {{  $}}147  ; CHECK-NEXT: bb.12:148  ; CHECK-NEXT:   successors: %bb.5(0x80000000)149  ; CHECK-NEXT: {{  $}}150  ; CHECK-NEXT:   [[PHI16:%[0-9]+]]:fpr64 = PHI %13, %bb.6, [[FADDDrr3]], %bb.10151  ; CHECK-NEXT:   B %bb.5152  ; CHECK-NEXT: {{  $}}153  ; CHECK-NEXT: bb.6:154  ; CHECK-NEXT:   successors: %bb.12(0x04000000), %bb.6(0x7c000000)155  ; CHECK-NEXT: {{  $}}156  ; CHECK-NEXT:   [[PHI17:%[0-9]+]]:gpr64common = PHI [[PHI14]], %bb.11, %17, %bb.6157  ; CHECK-NEXT:   [[PHI18:%[0-9]+]]:fpr64 = PHI [[PHI15]], %bb.11, %13, %bb.6158  ; CHECK-NEXT:   [[UBFMXri4:%[0-9]+]]:gpr64common = UBFMXri [[PHI17]], 61, 60159  ; CHECK-NEXT:   [[LDRDui6:%[0-9]+]]:fpr64 = LDRDui [[UBFMXri4]], 1160  ; CHECK-NEXT:   [[FADDDrr4:%[0-9]+]]:fpr64 = nofpexcept FADDDrr [[PHI18]], [[LDRDui6]], implicit $fpcr161  ; CHECK-NEXT:   [[ADDSXri10:%[0-9]+]]:gpr64 = ADDSXri [[PHI17]], 1, 0, implicit-def $nzcv162  ; CHECK-NEXT:   [[COPY11:%[0-9]+]]:gpr64all = COPY [[ADDSXri10]]163  ; CHECK-NEXT:   Bcc 2, %bb.12, implicit $nzcv164  ; CHECK-NEXT:   B %bb.6165  bb.0:166    successors: %bb.1(0x80000000)167    liveins: $x0168 169    %0:gpr64common = COPY $x0170    %1:gpr64sp = COPY $xzr171    %2:gpr64all = COPY %1172    %3:gpr32 = MOVi32imm 1173    %4:gpr64all = SUBREG_TO_REG 0, %3, %subreg.sub_32174 175  bb.1:176    successors: %bb.2(0x04000000), %bb.1(0x7c000000)177 178    %5:gpr64sp = PHI %4, %bb.0, %6, %bb.1179    %7:gpr64 = PHI %2, %bb.0, %8, %bb.1180    %9:fpr64 = LDRDui %1, 0181    STRDui killed %9, %0, 0182    %10:gpr64 = nsw SUBSXri %5, 1, 0, implicit-def $nzcv183    %6:gpr64all = COPY %10184    %8:gpr64all = SUBREG_TO_REG 0, %3, %subreg.sub_32185    Bcc 1, %bb.1, implicit $nzcv186    B %bb.2187 188  bb.2:189    successors: %bb.3(0x80000000)190 191  bb.3:192    successors: %bb.4(0x04000000), %bb.3(0x7c000000)193 194    CBNZX %7, %bb.3195    B %bb.4196 197  bb.4:198    successors: %bb.5(0x80000000)199 200    %11:fpr64 = FMOVD0201 202  bb.5:203    successors: %bb.6(0x80000000)204 205    %12:fpr64 = PHI %11, %bb.4, %13, %bb.6206    %14:gpr64all = COPY $xzr207    %15:gpr64all = COPY %14208 209  bb.6:210    successors: %bb.5(0x04000000), %bb.6(0x7c000000)211 212    %16:gpr64common = PHI %15, %bb.5, %17, %bb.6213    %18:fpr64 = PHI %12, %bb.5, %13, %bb.6214    %19:gpr64common = UBFMXri %16, 61, 60215    %20:fpr64 = LDRDui killed %19, 1216    %13:fpr64 = nofpexcept FADDDrr %18, killed %20, implicit $fpcr217    %21:gpr64 = ADDSXri %16, 1, 0, implicit-def $nzcv218    %17:gpr64all = COPY %21219    Bcc 2, %bb.5, implicit $nzcv220    B %bb.6221 222...223