Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang...
[llvm-project.git] / llvm / test / Transforms / JumpThreading / threading_prof2.ll
blob8b217411cd1da5c4e05e98267e160c29ed3d9b16
1 ; RUN: opt -passes=jump-threading -S < %s | FileCheck %s
2 define void @test() {
3 bb:
4   %tmp = call i32 @a()
5   %tmp1 = icmp eq i32 %tmp, 1
6   br i1 %tmp1, label %bb5, label %bb2
7 ; CHECK: br i1 %tmp1,{{.*}} !prof ![[PROF1:[0-9]+]]
9 bb2:
10   %tmp3 = call i32 @b()
11   %tmp4 = icmp ne i32 %tmp3, 1
12   br label %bb5
13 ; CHECK: br i1 %tmp4, {{.*}} !prof ![[PROF2:[0-9]+]]
15 bb5:
16   %tmp6 = phi i1 [ false, %bb ], [ %tmp4, %bb2 ]
17   br i1 %tmp6, label %bb8, label %bb7, !prof !0
19 bb7:
20   call void @bar()
21   br label %bb9
23 bb8:
24   call void @foo()
25   br label %bb9
27 bb9:
28   ret void
31 declare void @bar()
33 declare void @foo()
35 declare i32 @a()
37 declare i32 @b()
39 !0 = !{!"branch_weights", i32 2146410443, i32 1073205}
40 ;CHECK: ![[PROF1]] = !{!"branch_weights", i32 1073205, i32 2146410443}
41 ;CHECK: ![[PROF2]] = !{!"branch_weights", i32 -2147483648, i32 0}