llvm-6502/test/Analysis/BlockFrequencyInfo/double_backedge.ll
Duncan P. N. Exon Smith 39087bfbf0 blockfreq: Only one mass distribution per node
Remove the concepts of "forward" and "general" mass distributions, which
was wrong.  The split might have made sense in an early version of the
algorithm, but it's definitely wrong now.

<rdar://problem/14292693>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207195 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-25 04:38:43 +00:00

28 lines
725 B
LLVM

; RUN: opt < %s -analyze -block-freq | FileCheck %s
define void @double_backedge(i1 %x) {
; CHECK-LABEL: Printing analysis {{.*}} for function 'double_backedge':
; CHECK-NEXT: block-frequency-info: double_backedge
entry:
; CHECK-NEXT: entry: float = 1.0, int = [[ENTRY:[0-9]+]]
br label %loop
loop:
; CHECK-NEXT: loop: float = 10.0,
br i1 %x, label %exit, label %loop.1, !prof !0
loop.1:
; CHECK-NEXT: loop.1: float = 9.0,
br i1 %x, label %loop, label %loop.2, !prof !1
loop.2:
; CHECK-NEXT: loop.2: float = 5.0,
br label %loop
exit:
; CHECK-NEXT: exit: float = 1.0, int = [[ENTRY]]
ret void
}
!0 = metadata !{metadata !"branch_weights", i32 1, i32 9}
!1 = metadata !{metadata !"branch_weights", i32 4, i32 5}