diff options
Diffstat (limited to 'llvm/test/CodeGen/ARM')
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 -} - |