Roots.clear();
BBAnalysis.clear();
- if (MadeChange && !IfCvtBranchFold) {
+ if (MadeChange && IfCvtBranchFold) {
BranchFolder BF(false);
BF.OptimizeFunction(MF, TII,
MF.getTarget().getRegisterInfo(),
; RUN: llc < %s -march=arm -mtriple=arm-apple-darwin | \
; RUN: grep cmpne | count 1
; RUN: llc < %s -march=arm -mtriple=arm-apple-darwin | \
-; RUN: grep bhi | count 1
+; RUN: grep bls | count 1
; Here, tail call wins over eliminating branches. It is 1 fewer instruction
; and removes all stack accesses, so seems like a win.
; CHECK: _ZNKSs7compareERKSs:
; CHECK: it eq
; CHECK-NEXT: subeq.w r0, r6, r8
-; CHECK-NEXT: %bb
-; CHECK-NEXT: %bb1
; CHECK-NEXT: ldmia.w sp, {r4, r5, r6, r8, r9, pc}
entry:
%0 = tail call arm_aapcs_vfpcc i32 @_ZNKSs4sizeEv(%"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >"* %this) ; <i32> [#uses=3]
; CHECK: CountTree:
; CHECK: it eq
; CHECK: cmpeq
-; CHECK: beq
+; CHECK: bne
; CHECK: itt eq
; CHECK: moveq
; CHECK: popeq