blob: e0946c7ea3663b8db42dbb24eb2eddf973c08054 [file] [log] [blame]
Evan Cheng0ea7d212010-04-15 18:42:28 +00001; RUN: llc < %s -mtriple=thumbv7-apple-darwin -mcpu=cortex-a8 -O3 | FileCheck %s
2; rdar://7493908
3
4; Make sure the result of the first dynamic_alloc isn't copied back to sp more
5; than once. We'll deal with poor codegen later.
6
Rafael Espindola1e819662010-06-17 15:18:27 +00007define void @t() nounwind ssp {
Evan Cheng0ea7d212010-04-15 18:42:28 +00008entry:
9; CHECK: t:
Daniel Dunbar6a870032010-09-03 15:26:42 +000010; CHECK: push {r4, r7}
11; CHECK: mov r0, sp
12; CHECK: add r7, sp, #4
13; CHECK: bic r0, r0, #7
14; CHECK: subs r0, #16
15; CHECK: mov sp, r0
16; CHECK: mov r0, sp
17; CHECK: bic r0, r0, #7
18; CHECK: subs r0, #16
19; CHECK: mov sp, r0
20
Evan Cheng0ea7d212010-04-15 18:42:28 +000021 %size = mul i32 8, 2
22 %vla_a = alloca i8, i32 %size, align 8
Evan Cheng0ea7d212010-04-15 18:42:28 +000023 %vla_b = alloca i8, i32 %size, align 8
24 unreachable
25}