1 ; RUN: llc -mcpu=corei7 -mtriple=x86_64-linux < %s | FileCheck %s
4 ; Test that when determining the edge probability from a node in an inner loop
5 ; to a node in an outer loop, the weights on edges in the inner loop should be
6 ; ignored if we are building the chain for the outer loop.
13 %call = call zeroext i1 @a()
14 br i1 %call, label %if.then, label %if.else, !prof !1
17 %call1 = call zeroext i1 @a()
18 br i1 %call1, label %while.body, label %if.end.1, !prof !1
21 %call2 = call zeroext i1 @a()
22 br i1 %call2, label %if.then.1, label %while.cond
29 %call3 = call zeroext i1 @a()
30 br i1 %call3, label %while.body, label %if.end
46 ; Test that when determining the edge probability from a node in a loop to a
47 ; node in its peer loop, the weights on edges in the first loop should be
55 %call = call zeroext i1 @a()
56 br i1 %call, label %if.then, label %if.else, !prof !1
59 %call1 = call zeroext i1 @a()
60 br i1 %call1, label %if.then, label %while.body, !prof !2
63 %call2 = call zeroext i1 @a()
64 br i1 %call2, label %while.body, label %if.end, !prof !2
76 ; Test that when determining the edge probability from a node in a loop to a
77 ; node in its outer loop, the weights on edges in the outer loop should be
78 ; ignored if we are building the chain for the inner loop.
89 %call = call zeroext i1 @a()
90 br i1 %call, label %if.then, label %if.else, !prof !3
98 %call1 = call zeroext i1 @a()
99 br i1 %call1, label %if.end, label %exit, !prof !4
103 %call2 = call zeroext i1 @a()
104 br i1 %call2, label %if.cond, label %if.end.2, !prof !2
114 declare zeroext i1 @a()
120 !1 = !{!"branch_weights", i32 10, i32 1}
121 !2 = !{!"branch_weights", i32 100, i32 1}
122 !3 = !{!"branch_weights", i32 1, i32 100}
123 !4 = !{!"branch_weights", i32 1, i32 1}