1; RUN: llc < %s -mtriple=armv7-apple-darwin | FileCheck %s --check-prefix=ARM 2; RUN: llc < %s -mtriple=thumbv7-apple-darwin | FileCheck %s --check-prefix=THUMB2 3; rdar://8690640 4 5define i32* @t(i32* %x) nounwind { 6entry: 7; ARM: 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: 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 28declare i32* @foo(i32*) 29