1 ; RUN: llc < %s -mtriple=armv7-apple-ios | FileCheck %s --check-prefix=ARM 2 ; RUN: llc < %s -mtriple=thumbv7-apple-ios | FileCheck %s --check-prefix=THUMB2 3 ; rdar://8690640 4 5 define i32* @t(i32* %x) nounwind { 6 entry: 7 ; ARM-LABEL: t: 8 ; ARM: push 9 ; ARM: mov r7, sp 10 ; ARM: bl _foo 11 ; ARM: bl _foo 12 ; ARM: bl _foo 13 ; ARM: pop {r7, pc} 14 15 ; THUMB2-LABEL: t: 16 ; THUMB2: push 17 ; THUMB2: mov r7, sp 18 ; THUMB2: blx _foo 19 ; THUMB2: blx _foo 20 ; THUMB2: blx _foo 21 ; THUMB2: pop 22 %0 = tail call i32* @foo(i32* %x) nounwind 23 %1 = tail call i32* @foo(i32* %0) nounwind 24 %2 = tail call i32* @foo(i32* %1) nounwind 25 ret i32* %2 26 } 27 28 declare i32* @foo(i32*) 29