brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.5 KiB · bf03698 Raw
110 lines · plain
1# RUN: llc -run-pass arm-prera-ldst-opt %s -o - | FileCheck %s2# RUN: llc -run-pass arm-prera-ldst-opt -arm-prera-ldst-opt-reorder-limit=3 %s -o - | FileCheck %s3# RUN: llc -run-pass arm-prera-ldst-opt -arm-prera-ldst-opt-reorder-limit=2 %s -o - | FileCheck %s --check-prefix=CHECK-LIMIT4--- |5  target triple = "thumbv7---eabi"6 7  define void @a(ptr nocapture %x, i32 %y, i32 %z) {8  entry:9    ret void10  }11 12  define void @b(ptr nocapture %x, i32 %y, i32 %z) {13  entry:14    ret void15  }16...17---18# CHECK-LABEL: name: a19name:            a20alignment:       221tracksRegLiveness: true22liveins:23  - { reg: '$r0', virtual-reg: '%0' }24  - { reg: '$r1', virtual-reg: '%1' }25  - { reg: '$r2', virtual-reg: '%2' }26body:             |27  bb.0.entry:28    liveins: $r0, $r1, $r229 30    %2 : rgpr = COPY $r231    %1 : rgpr = COPY $r132    %0 : gpr = COPY $r033    %3 : rgpr = t2MUL %2, %2, 14, $noreg34    %4 : rgpr = t2MUL %1, %1, 14, $noreg35    %5 : rgpr = t2MOVi32imm -85899345936    %6 : rgpr, %7 : rgpr  = t2UMULL killed %3, %5, 14, $noreg37    %8 : rgpr, %9 : rgpr  = t2UMULL killed %4, %5, 14, $noreg38    t2STRi12 %1, %0, 0, 14, $noreg :: (store (s32))39    %10 : rgpr = t2LSLri %2, 1, 14, $noreg, $noreg40    t2STRi12 killed %10, %0, 4, 14, $noreg :: (store (s32))41 42    ; Make sure we move the paired stores next to each other, and43    ; insert them in an appropriate location.44    ; CHECK: t2STRDi8 %1, %10,45    ; CHECK-NEXT: t2MOVi46    ; CHECK-NEXT: t2ADDrs47 48    %11 : rgpr = t2MOVi 55, 14, $noreg, $noreg49    %12 : gprnopc = t2ADDrs %11, killed %7, 19, 14, $noreg, $noreg50    t2STRi12 killed %12, %0, 16, 14, $noreg :: (store (s32))51    %13 : gprnopc = t2ADDrs %11, killed %9, 19, 14, $noreg, $noreg52    t2STRi12 killed %13, %0, 20, 14, $noreg :: (store (s32))53 54    ; Make sure we move the paired stores next to each other.55    ; CHECK: t2STRDi8 %12, %13,56 57    tBX_RET 14, $noreg58---59# CHECK-LABEL: name: b60name:            b61alignment:       262tracksRegLiveness: true63liveins:64  - { reg: '$r0', virtual-reg: '%0' }65  - { reg: '$r1', virtual-reg: '%1' }66  - { reg: '$r2', virtual-reg: '%2' }67body:             |68  bb.0.entry:69    liveins: $r0, $r1, $r270 71    %2 : rgpr = COPY $r272    %1 : rgpr = COPY $r173    %0 : gpr = COPY $r074    t2STRi12 %1, %0, 0, 14, $noreg :: (store (s32))75    %10 : rgpr = t2LSLri %2, 1, 14, $noreg, $noreg76    t2STRi12 killed %10, %0, 4, 14, $noreg :: (store (s32))77    %3 : rgpr = t2MUL %2, %2, 14, $noreg78    t2STRi12 %3, %0, 8, 14, $noreg :: (store (s32))79 80    ; Make sure we move the paired stores next to each other, and81    ; insert them in an appropriate location.82    ; CHECK:      t2STRi12 {{.*}}, 083    ; CHECK-NEXT: t2STRi12 {{.*}}, 484    ; CHECK-NEXT: t2STRi12 {{.*}}, 885    ; CHECK-NEXT: t2MUL86    ; CHECK-NEXT: t2MOVi32imm87 88    ; CHECK-LIMIT-LABEL: name: b89    ; CHECK-LIMIT:      t2STRDi8 {{.*}}, {{.*}}, {{.*}}, 090    ; CHECK-LIMIT-NEXT: t2MUL91    ; CHECK-LIMIT-NEXT: t2STRi12 {{.*}}, 892 93    %4 : rgpr = t2MUL %1, %1, 14, $noreg94    %5 : rgpr = t2MOVi32imm -85899345995    %6 : rgpr, %7 : rgpr  = t2UMULL killed %3, %5, 14, $noreg96    %8 : rgpr, %9 : rgpr  = t2UMULL killed %4, %5, 14, $noreg97    %10 : rgpr = t2LSLri %2, 1, 14, $noreg, $noreg98    %11 : rgpr = t2MOVi 55, 14, $noreg, $noreg99    %12 : gprnopc = t2ADDrs %11, killed %7, 19, 14, $noreg, $noreg100    t2STRi12 killed %12, %0, 16, 14, $noreg :: (store (s32))101    %13 : gprnopc = t2ADDrs %11, killed %9, 19, 14, $noreg, $noreg102    t2STRi12 killed %13, %0, 20, 14, $noreg :: (store (s32))103 104    ; Make sure we move the paired stores next to each other.105    ; CHECK: t2STRDi8 %12, %13, %0, 16106 107    tBX_RET 14, $noreg108 109...110