42 lines · plain
1; RUN: llc < %s -mtriple=thumbv7-apple-darwin10 | FileCheck %s2 3; CHECK: _f4; CHECK: adds5; CHECK-NOT: cmp6; CHECK: bleq _h7 8define i32 @f(i32 %a, i32 %b) nounwind ssp {9entry:10 %add = add nsw i32 %b, %a11 %cmp = icmp eq i32 %add, 012 br i1 %cmp, label %if.then, label %if.end13 14if.then: ; preds = %entry15 tail call void (...) @h(i32 %a, i32 %b) nounwind16 br label %if.end17 18if.end: ; preds = %if.then, %entry19 ret i32 %add20}21 22; CHECK: _g23; CHECK: orrs24; CHECK-NOT: cmp25; CHECK: bleq _h26 27define i32 @g(i32 %a, i32 %b) nounwind ssp {28entry:29 %add = or i32 %b, %a30 %cmp = icmp eq i32 %add, 031 br i1 %cmp, label %if.then, label %if.end32 33if.then: ; preds = %entry34 tail call void (...) @h(i32 %a, i32 %b) nounwind35 br label %if.end36 37if.end: ; preds = %if.then, %entry38 ret i32 %add39}40 41declare void @h(...)42