blob: e55deaff428df0059cc4d00bd922cbe52bab56e7 [file] [log] [blame]
Duncan P. N. Exon Smith57cbdfc2014-12-05 19:13:42 +00001; RUN: opt < %s -analyze -block-freq | FileCheck %s
2
3; PR21622: Check for a crasher when the sum of exits to the same successor of a
4; loop overflows.
5
6; CHECK-LABEL: Printing analysis {{.*}} for function 'extremely_likely_loop_successor':
7; CHECK-NEXT: block-frequency-info: extremely_likely_loop_successor
8define void @extremely_likely_loop_successor() {
9; CHECK-NEXT: entry: float = 1.0, int = [[ENTRY:[0-9]+]]
10entry:
11 br label %loop
12
13; CHECK-NEXT: loop: float = 1.0,
14loop:
15 %exit.1.cond = call i1 @foo()
16 br i1 %exit.1.cond, label %exit, label %loop.2, !prof !0
17
18; CHECK-NEXT: loop.2: float = 0.0000000
19loop.2:
20 %exit.2.cond = call i1 @foo()
21 br i1 %exit.2.cond, label %exit, label %loop.3, !prof !0
22
23; CHECK-NEXT: loop.3: float = 0.0000000
24loop.3:
25 %exit.3.cond = call i1 @foo()
26 br i1 %exit.3.cond, label %exit, label %loop.4, !prof !0
27
28; CHECK-NEXT: loop.4: float = 0.0,
29loop.4:
30 %exit.4.cond = call i1 @foo()
31 br i1 %exit.4.cond, label %exit, label %loop, !prof !0
32
33; CHECK-NEXT: exit: float = 1.0, int = [[ENTRY]]
34exit:
35 ret void
36}
37
38declare i1 @foo()
39
Duncan P. N. Exon Smithbe7ea192014-12-15 19:07:53 +000040!0 = !{!"branch_weights", i32 4294967295, i32 1}