[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / JumpThreading / thread-prob-3.ll
blob27d060e159522f0476cdb44fec19924de189593b
1 ; RUN: opt -debug-only=branch-prob -jump-threading -S %s 2>&1 | FileCheck %s
2 ; REQUIRES: asserts
4 ; Make sure that we set edge probabilities for bb2 as we
5 ; call DuplicateCondBranchOnPHIIntoPred(bb3, {bb2}).
7 ; CHECK-LABEL: ---- Branch Probability Info : foo
8 ; CHECK:      set edge bb2 -> 0 successor probability to 0x80000000 / 0x80000000 = 100.00%
9 ; CHECK-NEXT: set edge bb2 -> 1 successor probability to 0x00000000 / 0x80000000 = 0.00%
10 define void @foo(i1 %f0, i1 %f1, i1 %f2) !prof !{!"function_entry_count", i64 0} {
11 ; CHECK-LABEL: @foo(
12 bb1:
13   br i1 %f0, label %bb3, label %bb2
15 bb2:
16 ; CHECK:      bb2:
17 ; CHECK-NEXT:   br i1 %f2, label %exit1, label %unreach
18   br label %bb3
20 bb3:
21   %ph = phi i1 [ %f1, %bb1 ], [ %f2, %bb2 ]
22   br i1 %ph, label %exit1, label %unreach
24 exit1:
25   ret void
27 unreach:
28   unreachable