1*e2fc11cfSKazu Hirata; RUN: opt -debug-only=branch-prob -jump-threading -S %s 2>&1 | FileCheck %s
2*e2fc11cfSKazu Hirata; REQUIRES: asserts
3*e2fc11cfSKazu Hirata
4*e2fc11cfSKazu Hirata; Make sure that we clear edge probabilities for bb1 as we fold
5*e2fc11cfSKazu Hirata; the conditional branch in it.
6*e2fc11cfSKazu Hirata
7*e2fc11cfSKazu Hirata; CHECK: eraseBlock bb1
8*e2fc11cfSKazu Hirata
9*e2fc11cfSKazu Hiratadefine void @foo(i32 %i, i32 %len) !prof !0 {
10*e2fc11cfSKazu Hirata; CHECK-LABEL: @foo
11*e2fc11cfSKazu Hirata  %i.inc = add nuw i32 %i, 1
12*e2fc11cfSKazu Hirata  %c0 = icmp ult i32 %i.inc, %len
13*e2fc11cfSKazu Hirata  br i1 %c0, label %bb1, label %bb2
14*e2fc11cfSKazu Hirata
15*e2fc11cfSKazu Hiratabb1:
16*e2fc11cfSKazu Hirata; CHECK: bb1:
17*e2fc11cfSKazu Hirata  %c1 = icmp ult i32 %i, %len
18*e2fc11cfSKazu Hirata  br i1 %c1, label %bb2, label %bb3
19*e2fc11cfSKazu Hirata
20*e2fc11cfSKazu Hiratabb2:
21*e2fc11cfSKazu Hirata  ret void
22*e2fc11cfSKazu Hirata
23*e2fc11cfSKazu Hiratabb3:
24*e2fc11cfSKazu Hirata; CHECK-NOT: bb3:
25*e2fc11cfSKazu Hirata  ret void
26*e2fc11cfSKazu Hirata}
27*e2fc11cfSKazu Hirata
28*e2fc11cfSKazu Hirata!0 = !{!"function_entry_count", i64 0}
29