blockfreq: Use better branch weights in multiexit test
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Fri, 25 Apr 2014 04:38:37 +0000 (04:38 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Fri, 25 Apr 2014 04:38:37 +0000 (04:38 +0000)
The branch weights were even before.  Make them different.

<rdar://problem/14292693>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207193 91177308-0d34-0410-b5e6-96231b3b80d8

test/Analysis/BlockFrequencyInfo/irreducible.ll

index dfae916dd662188043962bf4fe45cf0ded6159ce..dd4dd9ed792e2e96bf039522acf83cc6667e4984 100644 (file)
@@ -1,6 +1,7 @@
 ; RUN: opt < %s -analyze -block-freq | FileCheck %s
 
 ; RUN: opt < %s -analyze -block-freq | FileCheck %s
 
-; A loop with multiple exits should be handled correctly.
+; A loop with multiple exits isn't irreducible.  It should be handled
+; correctly.
 ;
 ; CHECK-LABEL: Printing analysis {{.*}} for function 'multiexit':
 ; CHECK-NEXT: block-frequency-info: multiexit
 ;
 ; CHECK-LABEL: Printing analysis {{.*}} for function 'multiexit':
 ; CHECK-NEXT: block-frequency-info: multiexit
@@ -9,19 +10,19 @@ define void @multiexit(i1 %x) {
 entry:
   br label %loop.1
 
 entry:
   br label %loop.1
 
-; CHECK-NEXT: loop.1: float = 1.333{{3*}},
+; CHECK-NEXT: loop.1: float = 2.0,
 loop.1:
   br i1 %x, label %exit.1, label %loop.2, !prof !0
 
 loop.1:
   br i1 %x, label %exit.1, label %loop.2, !prof !0
 
-; CHECK-NEXT: loop.2: float = 0.666{{6*7}},
+; CHECK-NEXT: loop.2: float = 1.75,
 loop.2:
   br i1 %x, label %exit.2, label %loop.1, !prof !1
 
 loop.2:
   br i1 %x, label %exit.2, label %loop.1, !prof !1
 
-; CHECK-NEXT: exit.1: float = 0.666{{6*7}},
+; CHECK-NEXT: exit.1: float = 0.25,
 exit.1:
   br label %return
 
 exit.1:
   br label %return
 
-; CHECK-NEXT: exit.2: float = 0.333{{3*}},
+; CHECK-NEXT: exit.2: float = 0.75,
 exit.2:
   br label %return
 
 exit.2:
   br label %return
 
@@ -30,8 +31,8 @@ return:
   ret void
 }
 
   ret void
 }
 
-!0 = metadata !{metadata !"branch_weights", i32 3, i32 3}
-!1 = metadata !{metadata !"branch_weights", i32 5, i32 5}
+!0 = metadata !{metadata !"branch_weights", i32 1, i32 7}
+!1 = metadata !{metadata !"branch_weights", i32 3, i32 4}
 
 ; The current BlockFrequencyInfo algorithm doesn't handle multiple entrances
 ; into a loop very well.  The frequencies assigned to blocks in the loop are
 
 ; The current BlockFrequencyInfo algorithm doesn't handle multiple entrances
 ; into a loop very well.  The frequencies assigned to blocks in the loop are