diff options
Diffstat (limited to 'llvm/test/CodeGen/ARM')
-rw-r--r-- | llvm/test/CodeGen/ARM/ldrex-frame-size.ll | 8 | ||||
-rw-r--r-- | llvm/test/CodeGen/ARM/scavenging.mir | 66 | ||||
-rw-r--r-- | llvm/test/CodeGen/ARM/thumb1-varalloc.ll | 5 |
3 files changed, 7 insertions, 72 deletions
diff --git a/llvm/test/CodeGen/ARM/ldrex-frame-size.ll b/llvm/test/CodeGen/ARM/ldrex-frame-size.ll index 595540578a0..f34fb8f4d22 100644 --- a/llvm/test/CodeGen/ARM/ldrex-frame-size.ll +++ b/llvm/test/CodeGen/ARM/ldrex-frame-size.ll @@ -11,9 +11,9 @@ define void @test_large_frame() { ; CHECK-LABEL: test_large_frame: ; CHECK: push -; CHECK: sub.w sp, sp, #1004 +; CHECK: sub.w sp, sp, #1008 - %ptr = alloca i32, i32 251 + %ptr = alloca i32, i32 252 %addr = getelementptr i32, i32* %ptr, i32 1 call i32 @llvm.arm.ldrex.p0i32(i32* %addr) @@ -24,9 +24,9 @@ define void @test_large_frame() { define void @test_small_frame() { ; CHECK-LABEL: test_small_frame: ; CHECK-NOT: push -; CHECK: sub.w sp, sp, #1000 +; CHECK: sub.w sp, sp, #1004 - %ptr = alloca i32, i32 250 + %ptr = alloca i32, i32 251 %addr = getelementptr i32, i32* %ptr, i32 1 call i32 @llvm.arm.ldrex.p0i32(i32* %addr) diff --git a/llvm/test/CodeGen/ARM/scavenging.mir b/llvm/test/CodeGen/ARM/scavenging.mir deleted file mode 100644 index 5e0cbfb4abb..00000000000 --- a/llvm/test/CodeGen/ARM/scavenging.mir +++ /dev/null @@ -1,66 +0,0 @@ -# RUN: llc -o - %s -mtriple=thumb-arm-none-eabi -mcpu=cortex-m0 -run-pass scavenger-test | FileCheck %s ---- -# CHECK-LABEL: name: scavengebug0 -# Make sure we are not spilling/using a physreg used in the very last -# instruction of the scavenging range. -# CHECK-NOT: tSTRi {{.*}}$r0,{{.*}}$r0 -# CHECK-NOT: tSTRi {{.*}}$r1,{{.*}}$r1 -# CHECK-NOT: tSTRi {{.*}}$r2,{{.*}}$r2 -# CHECK-NOT: tSTRi {{.*}}$r3,{{.*}}$r3 -# CHECK-NOT: tSTRi {{.*}}$r4,{{.*}}$r4 -# CHECK-NOT: tSTRi {{.*}}$r5,{{.*}}$r5 -# CHECK-NOT: tSTRi {{.*}}$r6,{{.*}}$r6 -# CHECK-NOT: tSTRi {{.*}}$r7,{{.*}}$r7 -name: scavengebug0 -body: | - bb.0: - ; Bring up register pressure to force emergency spilling - $r0 = IMPLICIT_DEF - $r1 = IMPLICIT_DEF - $r2 = IMPLICIT_DEF - $r3 = IMPLICIT_DEF - $r4 = IMPLICIT_DEF - $r5 = IMPLICIT_DEF - $r6 = IMPLICIT_DEF - $r7 = IMPLICIT_DEF - - %0 : tgpr = IMPLICIT_DEF - %0 = tADDhirr %0, $sp, 14, $noreg - tSTRi $r0, %0, 0, 14, $noreg - - %1 : tgpr = IMPLICIT_DEF - %1 = tADDhirr %1, $sp, 14, $noreg - tSTRi $r1, %1, 0, 14, $noreg - - %2 : tgpr = IMPLICIT_DEF - %2 = tADDhirr %2, $sp, 14, $noreg - tSTRi $r2, %2, 0, 14, $noreg - - %3 : tgpr = IMPLICIT_DEF - %3 = tADDhirr %3, $sp, 14, $noreg - tSTRi $r3, %3, 0, 14, $noreg - - %4 : tgpr = IMPLICIT_DEF - %4 = tADDhirr %4, $sp, 14, $noreg - tSTRi $r4, %4, 0, 14, $noreg - - %5 : tgpr = IMPLICIT_DEF - %5 = tADDhirr %5, $sp, 14, $noreg - tSTRi $r5, %5, 0, 14, $noreg - - %6 : tgpr = IMPLICIT_DEF - %6 = tADDhirr %6, $sp, 14, $noreg - tSTRi $r6, %6, 0, 14, $noreg - - %7 : tgpr = IMPLICIT_DEF - %7 = tADDhirr %7, $sp, 14, $noreg - tSTRi $r7, %7, 0, 14, $noreg - - KILL $r0 - KILL $r1 - KILL $r2 - KILL $r3 - KILL $r4 - KILL $r5 - KILL $r6 - KILL $r7 diff --git a/llvm/test/CodeGen/ARM/thumb1-varalloc.ll b/llvm/test/CodeGen/ARM/thumb1-varalloc.ll index 3787c4282b2..0e8b6c09896 100644 --- a/llvm/test/CodeGen/ARM/thumb1-varalloc.ll +++ b/llvm/test/CodeGen/ARM/thumb1-varalloc.ll @@ -34,9 +34,10 @@ bb2: bb3: %.0 = phi i8* [ %0, %entry ], [ %6, %bb2 ], [ %3, %bb1 ] -; CHECK: subs r4, #5 +; CHECK: subs r4, r7, #7 +; CHECK-NEXT: subs r4, #1 ; CHECK-NEXT: mov sp, r4 -; CHECK-NEXT: pop {r4, r5, r6, r7, pc} +; CHECK-NEXT: pop {r4, r6, r7, pc} ret i8* %.0 } |