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