31 lines · plain
1; Check that zeroed branch weights do not crash or otherwise break basic2; LoopUnroll behavior when it tries to compute a probability from them.3 4; RUN: opt < %s -S -unroll-count=2 -passes='loop-unroll' 2>&1 | FileCheck %s5 6define void @test() {7entry:8 br label %loop9 10loop:11 br i1 false, label %end, label %loop, !prof !012 13end:14 ret void15}16 17!0 = !{!"branch_weights", i32 0, i32 0}18 19; CHECK: define void @test() {20; CHECK: entry:21; CHECK: br label %loop22; CHECK: loop:23; CHECK: br i1 false, label %end, label %loop.1, !prof !024; CHECK: loop.1:25; CHECK: br i1 false, label %end, label %loop, !prof !0, !llvm.loop !126; CHECK-NOT: loop.227; CHECK: end:28; CHECK: ret void29; CHECK: }30; CHECK: !0 = !{!"branch_weights", i32 0, i32 0}31