; Check that zeroed branch weights do not crash or otherwise break basic ; LoopUnroll behavior when it tries to compute a probability from them. ; RUN: opt < %s -S -unroll-count=2 -passes='loop-unroll' 2>&1 | FileCheck %s define void @test() { entry: br label %loop loop: br i1 false, label %end, label %loop, !prof !0 end: ret void } !0 = !{!"branch_weights", i32 0, i32 0} ; CHECK: define void @test() { ; CHECK: entry: ; CHECK: br label %loop ; CHECK: loop: ; CHECK: br i1 false, label %end, label %loop.1, !prof !0 ; CHECK: loop.1: ; CHECK: br i1 false, label %end, label %loop, !prof !0, !llvm.loop !1 ; CHECK-NOT: loop.2 ; CHECK: end: ; CHECK: ret void ; CHECK: } ; CHECK: !0 = !{!"branch_weights", i32 0, i32 0}