1a57fe210SYevgeny Rouban; RUN: opt -debug-only=branch-prob -jump-threading -S %s 2>&1 | FileCheck %s 2a57fe210SYevgeny Rouban; REQUIRES: asserts 3a57fe210SYevgeny Rouban 4a57fe210SYevgeny Rouban; Make sure that we set edge probabilities for bb2 as we 5a57fe210SYevgeny Rouban; call DuplicateCondBranchOnPHIIntoPred(bb3, {bb2}). 6a57fe210SYevgeny Rouban; 7a57fe210SYevgeny Rouban; CHECK-LABEL: ---- Branch Probability Info : foo 8*9fb074e7SEvgeniy Brevnov; CHECK: set edge bb2 -> 0 successor probability to 0x80000000 / 0x80000000 = 100.00% 9*9fb074e7SEvgeniy Brevnov; CHECK-NEXT: set edge bb2 -> 1 successor probability to 0x00000000 / 0x80000000 = 0.00% 10a57fe210SYevgeny Roubandefine void @foo(i1 %f0, i1 %f1, i1 %f2) !prof !{!"function_entry_count", i64 0} { 11a57fe210SYevgeny Rouban; CHECK-LABEL: @foo( 12a57fe210SYevgeny Roubanbb1: 13a57fe210SYevgeny Rouban br i1 %f0, label %bb3, label %bb2 14a57fe210SYevgeny Rouban 15a57fe210SYevgeny Roubanbb2: 16a57fe210SYevgeny Rouban; CHECK: bb2: 17a57fe210SYevgeny Rouban; CHECK-NEXT: br i1 %f2, label %exit1, label %unreach 18a57fe210SYevgeny Rouban br label %bb3 19a57fe210SYevgeny Rouban 20a57fe210SYevgeny Roubanbb3: 21a57fe210SYevgeny Rouban %ph = phi i1 [ %f1, %bb1 ], [ %f2, %bb2 ] 22a57fe210SYevgeny Rouban br i1 %ph, label %exit1, label %unreach 23a57fe210SYevgeny Rouban 24a57fe210SYevgeny Roubanexit1: 25a57fe210SYevgeny Rouban ret void 26a57fe210SYevgeny Rouban 27a57fe210SYevgeny Roubanunreach: 28a57fe210SYevgeny Rouban unreachable 29a57fe210SYevgeny Rouban} 30