| ; RUN: llc < %s -mtriple=armv7-apple-ios -mcpu=cortex-a8 | FileCheck %s -check-prefix=A8 | |
| ; RUN: llc < %s -mtriple=armv7-apple-ios -mcpu=swift | FileCheck %s -check-prefix=SWIFT | |
| ; rdar://8402126 | |
| @x = external global i32* ; <i32**> [#uses=1] | |
| define void @foo(i32 %a) "no-frame-pointer-elim"="true" { | |
| entry: | |
| %tmp = load i32*, i32** @x ; <i32*> [#uses=1] | |
| store i32 %a, i32* %tmp | |
| ret void | |
| } | |
| define i32 @t1(i32 %a, i32 %b) "no-frame-pointer-elim"="true" { | |
| ; A8-LABEL: t1: | |
| ; A8: bxlt lr | |
| ; SWIFT-LABEL: t1: | |
| ; SWIFT: bxlt lr | |
| ; SWIFT: pop {r7, pc} | |
| entry: | |
| %tmp1 = icmp sgt i32 %a, 10 ; <i1> [#uses=1] | |
| br i1 %tmp1, label %cond_true, label %UnifiedReturnBlock | |
| cond_true: ; preds = %entry | |
| tail call void @foo( i32 %b ) | |
| ret i32 0 | |
| UnifiedReturnBlock: ; preds = %entry | |
| ret i32 1 | |
| } |