1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
; 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}
|