1*4fb8e0b8SYevgeny Rouban; RUN: opt -jump-threading -S < %s | FileCheck %s 2*4fb8e0b8SYevgeny Rouban; RUN: opt -passes=jump-threading -S < %s | FileCheck %s 3*4fb8e0b8SYevgeny Rouban 4*4fb8e0b8SYevgeny Rouban; Check that all zero branch weights do not cause a crash. 5*4fb8e0b8SYevgeny Roubandefine void @zero_branch_weights(i32 %tmp, i32 %tmp3) { 6*4fb8e0b8SYevgeny Roubanbb: 7*4fb8e0b8SYevgeny Rouban %tmp1 = icmp eq i32 %tmp, 1 8*4fb8e0b8SYevgeny Rouban br i1 %tmp1, label %bb5, label %bb2 9*4fb8e0b8SYevgeny Rouban; CHECK-NOT: br i1 %tmp1,{{.*}} !prof 10*4fb8e0b8SYevgeny Rouban 11*4fb8e0b8SYevgeny Roubanbb2: 12*4fb8e0b8SYevgeny Rouban %tmp4 = icmp ne i32 %tmp3, 1 13*4fb8e0b8SYevgeny Rouban br label %bb5 14*4fb8e0b8SYevgeny Rouban; CHECK: br i1 %tmp4, {{.*}} !prof ![[PROF:[0-9]+]] 15*4fb8e0b8SYevgeny Rouban 16*4fb8e0b8SYevgeny Roubanbb5: 17*4fb8e0b8SYevgeny Rouban %tmp6 = phi i1 [ false, %bb ], [ %tmp4, %bb2 ] 18*4fb8e0b8SYevgeny Rouban br i1 %tmp6, label %bb8, label %bb7, !prof !{!"branch_weights", i32 0, i32 0} 19*4fb8e0b8SYevgeny Rouban 20*4fb8e0b8SYevgeny Roubanbb7: 21*4fb8e0b8SYevgeny Rouban br label %bb9 22*4fb8e0b8SYevgeny Rouban 23*4fb8e0b8SYevgeny Roubanbb8: 24*4fb8e0b8SYevgeny Rouban br label %bb9 25*4fb8e0b8SYevgeny Rouban 26*4fb8e0b8SYevgeny Roubanbb9: 27*4fb8e0b8SYevgeny Rouban ret void 28*4fb8e0b8SYevgeny Rouban} 29*4fb8e0b8SYevgeny Rouban 30*4fb8e0b8SYevgeny Rouban;CHECK: ![[PROF]] = !{!"branch_weights", i32 0, i32 0} 31