Darwin requires a frame pointer for all non-leaf functions to support correct
[oota-llvm.git] / test / CodeGen / ARM / ifcvt5.ll
1 ; RUN: llc < %s -mtriple=armv7-apple-darwin | FileCheck %s
2
3 ; XFAIL: *
4
5 @x = external global i32*               ; <i32**> [#uses=1]
6
7 define void @foo(i32 %a) {
8 entry:
9         %tmp = load i32** @x            ; <i32*> [#uses=1]
10         store i32 %a, i32* %tmp
11         ret void
12 }
13
14 define void @t1(i32 %a, i32 %b) {
15 ; CHECK: t1:
16 ; CHECK: ldmfdlt sp!, {r7, pc}
17 entry:
18         %tmp1 = icmp sgt i32 %a, 10             ; <i1> [#uses=1]
19         br i1 %tmp1, label %cond_true, label %UnifiedReturnBlock
20
21 cond_true:              ; preds = %entry
22         tail call void @foo( i32 %b )
23         ret void
24
25 UnifiedReturnBlock:             ; preds = %entry
26         ret void
27 }