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/reg-alloc-fixed-r6-vla.ll44
-rw-r--r--llvm/test/CodeGen/ARM/reg-alloc-with-fixed-reg-r6-modified.ll63
-rw-r--r--llvm/test/CodeGen/ARM/reg-alloc-with-fixed-reg-r6.ll57
-rw-r--r--llvm/test/CodeGen/ARM/reg-alloc-wout-fixed-regs.ll58
4 files changed, 0 insertions, 222 deletions
diff --git a/llvm/test/CodeGen/ARM/reg-alloc-fixed-r6-vla.ll b/llvm/test/CodeGen/ARM/reg-alloc-fixed-r6-vla.ll
deleted file mode 100644
index 0b6fd7443af..00000000000
--- a/llvm/test/CodeGen/ARM/reg-alloc-fixed-r6-vla.ll
+++ /dev/null
@@ -1,44 +0,0 @@
-; Using VLAs(Variable Length Arrays) in a function will use R6 to keep track
-; of the stack frame, and also spill/restore R6 to the stack.
-; This tests that using -ffixed-r6 (-mattr=+reserve-r6) will stop R6
-; being used and also stop it being spilled/restored to the stack.
-; RUN: llc < %s -mcpu=cortex-m0 -mtriple=thumbv7-arm-none-eabi | FileCheck %s --check-prefix=CHECK-STATIC --check-prefix=CHECK-R6
-; RUN: llc < %s -mcpu=cortex-m0 -mtriple=thumbv7-arm-none-eabi -mattr=+reserve-r6 | FileCheck %s --check-prefix=CHECK-STATIC --check-prefix=CHECK-NO-R6
-
-define void @f() #0 {
-entry:
- %i = alloca i32, align 4
- store i32 0, i32* %i, align 4
-
- %saved_stack = alloca i8*, align 4
- %0 = call i8* @llvm.stacksave()
- store i8* %0, i8** %saved_stack, align 4
-
- %__vla_expr0 = alloca i32, align 4
- %1 = load i32, i32* %i, align 4
- %vla = alloca double, i32 %1, align 8
- store i32 %1, i32* %__vla_expr0, align 4
-
- %2 = load i8*, i8** %saved_stack, align 4
- call void @llvm.stackrestore(i8* %2)
-
- ret void
-}
-
-declare i8* @llvm.stacksave() #1
-declare void @llvm.stackrestore(i8* %ptr) #1
-
-attributes #0 = { noinline nounwind "stackrealign" }
-attributes #1 = { nounwind }
-
-; CHECK-STATIC: push {r4,
-; CHECK-R6: r6
-; CHECK-NO-R6-NOT: r6
-; CHECK-STATIC: lr}
-; CHECK-R6: r6
-; CHECK-NO-R6-NOT: r6
-; CHECK-STATIC: pop {r4,
-; CHECK-R6: r6
-; CHECK-NO-R6-NOT: r6
-; CHECK-STATIC: pc}
-
diff --git a/llvm/test/CodeGen/ARM/reg-alloc-with-fixed-reg-r6-modified.ll b/llvm/test/CodeGen/ARM/reg-alloc-with-fixed-reg-r6-modified.ll
deleted file mode 100644
index e2a4af87dde..00000000000
--- a/llvm/test/CodeGen/ARM/reg-alloc-with-fixed-reg-r6-modified.ll
+++ /dev/null
@@ -1,63 +0,0 @@
-; RUN: llc < %s -mattr=+reserve-r6 -mtriple=arm-linux-gnueabi -O0 -filetype=asm --regalloc=fast 2>&1 | FileCheck %s
-;
-; Equivalent C source code
-; register unsigned r6 asm("r6");
-; void bar(unsigned int i,
-; unsigned int j,
-; unsigned int k,
-; unsigned int l,
-; unsigned int m,
-; unsigned int n,
-; unsigned int o,
-; unsigned int p)
-; {
-; r6 = 10;
-; unsigned int result = i + j + k + l + m + n + o + p;
-; }
-declare void @llvm.write_register.i32(metadata, i32) nounwind
-
-define void @bar(i32 %i, i32 %j, i32 %k, i32 %l, i32 %m, i32 %n, i32 %o, i32 %p) nounwind {
-entry:
-; CHECK-NOT: push {{{.*}}r6,{{.*}}}
-; CHECK: {{.*}}mov{{.*}}r6,{{.*}}
-; CHECK-NOT: {{.*}}r6{{.*}}
- %i.addr = alloca i32, align 4
- %j.addr = alloca i32, align 4
- %k.addr = alloca i32, align 4
- %l.addr = alloca i32, align 4
- %m.addr = alloca i32, align 4
- %n.addr = alloca i32, align 4
- %o.addr = alloca i32, align 4
- %p.addr = alloca i32, align 4
- %result = alloca i32, align 4
- store i32 %i, i32* %i.addr, align 4
- store i32 %j, i32* %j.addr, align 4
- store i32 %k, i32* %k.addr, align 4
- store i32 %l, i32* %l.addr, align 4
- store i32 %m, i32* %m.addr, align 4
- store i32 %n, i32* %n.addr, align 4
- store i32 %o, i32* %o.addr, align 4
- store i32 %p, i32* %p.addr, align 4
- call void @llvm.write_register.i32(metadata !0, i32 10)
- %0 = load i32, i32* %i.addr, align 4
- %1 = load i32, i32* %j.addr, align 4
- %add = add i32 %0, %1
- %2 = load i32, i32* %k.addr, align 4
- %add1 = add i32 %add, %2
- %3 = load i32, i32* %l.addr, align 4
- %add2 = add i32 %add1, %3
- %4 = load i32, i32* %m.addr, align 4
- %add3 = add i32 %add2, %4
- %5 = load i32, i32* %n.addr, align 4
- %add4 = add i32 %add3, %5
- %6 = load i32, i32* %o.addr, align 4
- %add5 = add i32 %add4, %6
- %7 = load i32, i32* %p.addr, align 4
- %add6 = add i32 %add5, %7
- store i32 %add6, i32* %result, align 4
- ret void
-}
-
-!llvm.named.register.r6 = !{!0}
-!0 = !{!"r6"}
-
diff --git a/llvm/test/CodeGen/ARM/reg-alloc-with-fixed-reg-r6.ll b/llvm/test/CodeGen/ARM/reg-alloc-with-fixed-reg-r6.ll
deleted file mode 100644
index 3647c0701a7..00000000000
--- a/llvm/test/CodeGen/ARM/reg-alloc-with-fixed-reg-r6.ll
+++ /dev/null
@@ -1,57 +0,0 @@
-; RUN: llc < %s -mattr=+reserve-r6 -mtriple=arm-linux-gnueabi -O0 -filetype=asm --regalloc=fast 2>&1 | FileCheck %s
-;
-; Equivalent C source code
-; void bar(unsigned int i,
-; unsigned int j,
-; unsigned int k,
-; unsigned int l,
-; unsigned int m,
-; unsigned int n,
-; unsigned int o,
-; unsigned int p)
-; {
-; unsigned int result = i + j + k + l + m + n + o + p;
-; }
-
-define void @bar(i32 %i, i32 %j, i32 %k, i32 %l, i32 %m, i32 %n, i32 %o, i32 %p) nounwind {
-entry:
-; CHECK-NOT: push {{{.*}}r6,{{.*}}}
- %i.addr = alloca i32, align 4
- %j.addr = alloca i32, align 4
- %k.addr = alloca i32, align 4
- %l.addr = alloca i32, align 4
- %m.addr = alloca i32, align 4
- %n.addr = alloca i32, align 4
- %o.addr = alloca i32, align 4
- %p.addr = alloca i32, align 4
- %result = alloca i32, align 4
- store i32 %i, i32* %i.addr, align 4
- store i32 %j, i32* %j.addr, align 4
- store i32 %k, i32* %k.addr, align 4
- store i32 %l, i32* %l.addr, align 4
- store i32 %m, i32* %m.addr, align 4
- store i32 %n, i32* %n.addr, align 4
- store i32 %o, i32* %o.addr, align 4
- store i32 %p, i32* %p.addr, align 4
- %0 = load i32, i32* %i.addr, align 4
- %1 = load i32, i32* %j.addr, align 4
- %add = add i32 %0, %1
- %2 = load i32, i32* %k.addr, align 4
- %add1 = add i32 %add, %2
- %3 = load i32, i32* %l.addr, align 4
- %add2 = add i32 %add1, %3
- %4 = load i32, i32* %m.addr, align 4
- %add3 = add i32 %add2, %4
- %5 = load i32, i32* %n.addr, align 4
- %add4 = add i32 %add3, %5
- %6 = load i32, i32* %o.addr, align 4
- %add5 = add i32 %add4, %6
- %7 = load i32, i32* %p.addr, align 4
- %add6 = add i32 %add5, %7
- store i32 %add6, i32* %result, align 4
-; CHECK: {{.*}}r5{{.*}}
-; CHECK-NOT: {{.*}}r6{{.*}}
- ret void
-; CHECK-NOT: pop {{{.*}}r6,{{.*}}}
-}
-
diff --git a/llvm/test/CodeGen/ARM/reg-alloc-wout-fixed-regs.ll b/llvm/test/CodeGen/ARM/reg-alloc-wout-fixed-regs.ll
deleted file mode 100644
index d1f020936a3..00000000000
--- a/llvm/test/CodeGen/ARM/reg-alloc-wout-fixed-regs.ll
+++ /dev/null
@@ -1,58 +0,0 @@
-; RUN: llc < %s -mtriple=arm-linux-gnueabi -O0 -filetype=asm --regalloc=fast 2>&1 | FileCheck %s
-;
-; Equivalent C source code
-; void bar(unsigned int i,
-; unsigned int j,
-; unsigned int k,
-; unsigned int l,
-; unsigned int m,
-; unsigned int n,
-; unsigned int o,
-; unsigned int p)
-; {
-; unsigned int result = i + j + k + l + m + n + o + p;
-; }
-
-define void @bar(i32 %i, i32 %j, i32 %k, i32 %l, i32 %m, i32 %n, i32 %o, i32 %p) nounwind {
-entry:
-; CHECK: push {{{.*}}r4, r5{{.*}}}
- %i.addr = alloca i32, align 4
- %j.addr = alloca i32, align 4
- %k.addr = alloca i32, align 4
- %l.addr = alloca i32, align 4
- %m.addr = alloca i32, align 4
- %n.addr = alloca i32, align 4
- %o.addr = alloca i32, align 4
- %p.addr = alloca i32, align 4
- %result = alloca i32, align 4
- store i32 %i, i32* %i.addr, align 4
- store i32 %j, i32* %j.addr, align 4
- store i32 %k, i32* %k.addr, align 4
- store i32 %l, i32* %l.addr, align 4
- store i32 %m, i32* %m.addr, align 4
- store i32 %n, i32* %n.addr, align 4
- store i32 %o, i32* %o.addr, align 4
- store i32 %p, i32* %p.addr, align 4
- %0 = load i32, i32* %i.addr, align 4
- %1 = load i32, i32* %j.addr, align 4
- %add = add i32 %0, %1
- %2 = load i32, i32* %k.addr, align 4
- %add1 = add i32 %add, %2
- %3 = load i32, i32* %l.addr, align 4
- %add2 = add i32 %add1, %3
- %4 = load i32, i32* %m.addr, align 4
- %add3 = add i32 %add2, %4
- %5 = load i32, i32* %n.addr, align 4
- %add4 = add i32 %add3, %5
- %6 = load i32, i32* %o.addr, align 4
- %add5 = add i32 %add4, %6
- %7 = load i32, i32* %p.addr, align 4
- %add6 = add i32 %add5, %7
- store i32 %add6, i32* %result, align 4
-; CHECK: {{.*}}r4{{.*}}
-; CHECK: {{.*}}r5{{.*}}
-
-; CHECK: pop {{{.*}}r4, r5{{.*}}}
- ret void
-}
-
OpenPOWER on IntegriCloud