[AArch64] Fix bug in prolog clobbering live reg when shrink wrapping.
[oota-llvm.git] / test / CodeGen / AArch64 / arm64-redzone.ll
1 ; RUN: llc < %s -march=arm64 -aarch64-redzone | FileCheck %s
2
3 define i32 @foo(i32 %a, i32 %b) nounwind ssp {
4 ; CHECK-LABEL: foo:
5 ; CHECK-NOT: sub sp, sp
6 ; CHECK: ret
7   %a.addr = alloca i32, align 4
8   %b.addr = alloca i32, align 4
9   %x = alloca i32, align 4
10   store i32 %a, i32* %a.addr, align 4
11   store i32 %b, i32* %b.addr, align 4
12   %tmp = load i32, i32* %a.addr, align 4
13   %tmp1 = load i32, i32* %b.addr, align 4
14   %add = add nsw i32 %tmp, %tmp1
15   store i32 %add, i32* %x, align 4
16   %tmp2 = load i32, i32* %x, align 4
17   ret i32 %tmp2
18 }