| Tim Northover | b4ddc08 | 2014-05-30 10:09:59 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -mtriple=thumbv7-apple-darwin -mcpu=cortex-a8 -arm-atomic-cfg-tidy=0 -O3 | FileCheck %s |
| Evan Cheng | 1ba1428 | 2010-04-15 18:42:28 +0000 | [diff] [blame] | 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 Espindola | 29dda21 | 2010-06-17 15:18:27 +0000 | [diff] [blame] | 7 | define void @t() nounwind ssp { |
| Evan Cheng | 1ba1428 | 2010-04-15 18:42:28 +0000 | [diff] [blame] | 8 | entry: |
| Stephen Lin | d24ab20 | 2013-07-14 06:24:09 +0000 | [diff] [blame] | 9 | ; CHECK-LABEL: t: |
| Evan Cheng | 1ba1428 | 2010-04-15 18:42:28 +0000 | [diff] [blame] | 10 | %size = mul i32 8, 2 |
| Elena Demikhovsky | 82a46eb | 2013-10-14 07:26:51 +0000 | [diff] [blame] | 11 | ; CHECK: sub.w r0, sp, #16 |
| Jim Grosbach | 03f4be8 | 2010-09-03 18:37:12 +0000 | [diff] [blame] | 12 | ; CHECK: mov sp, r0 |
| Evan Cheng | 1ba1428 | 2010-04-15 18:42:28 +0000 | [diff] [blame] | 13 | %vla_a = alloca i8, i32 %size, align 8 |
| Elena Demikhovsky | 82a46eb | 2013-10-14 07:26:51 +0000 | [diff] [blame] | 14 | ; CHECK: sub.w r0, sp, #16 |
| Jim Grosbach | 03f4be8 | 2010-09-03 18:37:12 +0000 | [diff] [blame] | 15 | ; CHECK: mov sp, r0 |
| Evan Cheng | 1ba1428 | 2010-04-15 18:42:28 +0000 | [diff] [blame] | 16 | %vla_b = alloca i8, i32 %size, align 8 |
| 17 | unreachable |
| 18 | } |