99 lines · plain
1; RUN: opt -passes=jump-threading -S < %s | FileCheck %s2 3define void @test() {4; CHECK-LABEL: @test()5bb:6 %tmp = call i32 @a()7 %tmp1 = icmp eq i32 %tmp, 18 br i1 %tmp1, label %bb5, label %bb29; CHECK: br i1 %tmp1,{{.*}} !prof ![[PROF1:[0-9]+]]10 11bb2: ; preds = %bb12 %tmp3 = call i32 @b()13 %tmp4 = icmp ne i32 %tmp3, 114 br label %bb515; CHECK: br i1 %tmp4, {{.*}} !prof ![[PROF2:[0-9]+]]16 17bb5: ; preds = %bb2, %bb18 %tmp6 = phi i1 [ false, %bb ], [ %tmp4, %bb2 ]19 br i1 %tmp6, label %bb8, label %bb7, !prof !020 21bb7: ; preds = %bb522 call void @bar()23 br label %bb824 25bb8: ; preds = %bb7, %bb526 ret void27}28 29define void @test_single_pred1() {30; CHECK-LABEL: @test_single_pred1()31bb:32 %tmp = call i32 @a()33 %tmp1 = icmp eq i32 %tmp, 134 br i1 %tmp1, label %bb5_1, label %bb235; CHECK: br i1 %tmp1,{{.*}} !prof ![[PROF1:[0-9]+]]36 37bb5_1:38 br label %bb5;39 40bb2:41 %tmp3 = call i32 @b()42 %tmp4 = icmp ne i32 %tmp3, 143 br label %bb544; CHECK: br i1 %tmp4, {{.*}} !prof ![[PROF2:[0-9]+]]45 46bb5:47 %tmp6 = phi i1 [ false, %bb5_1 ], [ %tmp4, %bb2 ]48 br i1 %tmp6, label %bb8, label %bb7, !prof !049 50bb7:51 call void @bar()52 br label %bb853 54bb8:55 ret void56}57 58define void @test_single_pred2() {59; CHECK-LABEL: @test_single_pred2()60bb:61 %tmp = call i32 @a()62 %tmp1 = icmp eq i32 %tmp, 163 br i1 %tmp1, label %bb5_1, label %bb264; CHECK: br i1 %tmp1,{{.*}} !prof ![[PROF1:[0-9]+]]65 66bb5_1:67 br label %bb5_2;68 69bb5_2:70 br label %bb5;71 72bb2:73 %tmp3 = call i32 @b()74 %tmp4 = icmp ne i32 %tmp3, 175 br label %bb576; CHECK: br i1 %tmp4, {{.*}} !prof ![[PROF2:[0-9]+]]77 78bb5:79 %tmp6 = phi i1 [ false, %bb5_2 ], [ %tmp4, %bb2 ]80 br i1 %tmp6, label %bb8, label %bb7, !prof !081 82bb7:83 call void @bar()84 br label %bb885 86bb8:87 ret void88}89 90declare void @bar()91 92declare i32 @a()93 94declare i32 @b()95 96!0 = !{!"branch_weights", i32 2146410443, i32 1073205}97;CHECK: ![[PROF1]] = !{!"branch_weights", i32 1073205, i32 2146410443}98;CHECK: ![[PROF2]] = !{!"branch_weights", i32 -2147483648, i32 0}99