Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang...
[llvm-project.git] / llvm / test / Transforms / JumpThreading / thread-prob-1.ll
blobe59539123d6ea38efe6dfe8a1d03c58f91403311
1 ; RUN: opt -debug-only=branch-prob -passes=jump-threading -S %s 2>&1 | FileCheck %s
2 ; REQUIRES: asserts
4 ; Make sure that we set the branch probability for the newly created
5 ; basic block.
7 define void @foo(i1 %cond1, i1 %cond2) !prof !0 !PGOFuncName !1 {
8 entry:
9   br i1 %cond1, label %bb.f1, label %bb.f2, !prof !2
11 bb.f1:
12   call void @f1()
13   br label %bb.cond2
15 bb.f2:
16   call void @f2()
17   br label %bb.cond2
19 bb.cond2:
20   br i1 %cond2, label %exit, label %bb.cond1again, !prof !3
21 ; CHECK: set edge bb.cond2.thread -> 0 successor probability to 0x79b9d244 / 0x80000000
22 ; CHECK: set edge bb.cond2.thread -> 1 successor probability to 0x06462dbc / 0x80000000 = 4.90
24 bb.cond1again:
25   br i1 %cond1, label %bb.f3, label %bb.f4, !prof !4
27 bb.f3:
28   call void @f3()
29   br label %exit
31 bb.f4:
32   call void @f4()
33   br label %exit
35 exit:
36   ret void
39 declare void @f1()
41 declare void @f2()
43 declare void @f3()
45 declare void @f4()
47 !0 = !{!"function_entry_count", i64 15985}
48 !1 = !{!"foo.cpp:foo"}
49 !2 = !{!"branch_weights", i32 0, i32 36865}
50 !3 = !{!"branch_weights", i32 35058, i32 1807}
51 !4 = !{!"branch_weights", i32 1807, i32 35058}