summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/ARM')
-rw-r--r--llvm/test/CodeGen/ARM/ldrex-frame-size.ll8
-rw-r--r--llvm/test/CodeGen/ARM/scavenging.mir66
-rw-r--r--llvm/test/CodeGen/ARM/thumb1-varalloc.ll5
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
}
OpenPOWER on IntegriCloud