summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis/BlockFrequencyInfo
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-04-25 04:38:43 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-04-25 04:38:43 +0000
commitcb7d29d30cafd2ae4babb25e249d0c4b55a80dfc (patch)
tree8415ff56d81aacbb983085320f4864366f8e9633 /llvm/test/Analysis/BlockFrequencyInfo
parentebf76269883a37f897a9ecec2bff0e58ea9a16de (diff)
downloadbcm5719-llvm-cb7d29d30cafd2ae4babb25e249d0c4b55a80dfc.tar.gz
bcm5719-llvm-cb7d29d30cafd2ae4babb25e249d0c4b55a80dfc.zip
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> llvm-svn: 207195
Diffstat (limited to 'llvm/test/Analysis/BlockFrequencyInfo')
-rw-r--r--llvm/test/Analysis/BlockFrequencyInfo/double_backedge.ll27
1 files changed, 27 insertions, 0 deletions
diff --git a/llvm/test/Analysis/BlockFrequencyInfo/double_backedge.ll b/llvm/test/Analysis/BlockFrequencyInfo/double_backedge.ll
new file mode 100644
index 00000000000..df8217cfa1b
--- /dev/null
+++ b/llvm/test/Analysis/BlockFrequencyInfo/double_backedge.ll
@@ -0,0 +1,27 @@
+; 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}
OpenPOWER on IntegriCloud