brintos

brintos / llvm-project-archived public Read only

0
0
Text · 976 B · 8520381 Raw
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