[JumpThreading] make jump threading respect convergent annotation.
[oota-llvm.git] / test / CodeGen / Thumb2 / 2010-04-15-DynAllocBug.ll
index fea2dca6a27344a2333f345e3d0af67069dfe1d6..8beb5b1c894450d4734dd077c39b0b8783d6052c 100644 (file)
@@ -1,23 +1,18 @@
-; RUN: llc < %s -mtriple=thumbv7-apple-darwin -mcpu=cortex-a8 -O3 | FileCheck %s
+; RUN: llc < %s -mtriple=thumbv7-apple-darwin -mcpu=cortex-a8 -arm-atomic-cfg-tidy=0 -O3 | FileCheck %s
 ; rdar://7493908
 
 ; Make sure the result of the first dynamic_alloc isn't copied back to sp more
 ; than once. We'll deal with poor codegen later.
 
-define arm_apcscc void @t() nounwind ssp {
+define void @t() nounwind ssp {
 entry:
-; CHECK: t:
-; CHECK: mov r0, sp
-; CHECK: bfc r0, #0, #3
-; CHECK: subs r0, #16
-; CHECK: mov sp, r0
-; Yes, this is stupid codegen, but it's correct.
-; CHECK: mov r0, sp
-; CHECK: bfc r0, #0, #3
-; CHECK: subs r0, #16
-; CHECK: mov sp, r0
+; CHECK-LABEL: t:
   %size = mul i32 8, 2
+; CHECK:  sub.w  r0, sp, #16
+; CHECK:  mov sp, r0
   %vla_a = alloca i8, i32 %size, align 8
+; CHECK:  sub.w  r0, sp, #16
+; CHECK:  mov sp, r0
   %vla_b = alloca i8, i32 %size, align 8
   unreachable
 }