blob: 2d48d30dd7d8976ca7460662cdd4db987c5eabe1 [file] [log] [blame]
Krzysztof Parzyszek5b8fae52017-03-06 19:12:42 +00001; RUN: llc -march=hexagon < %s
2
3; Check that branch probabilities are set correctly after performing the
4; simple variant of if-conversion. The converted block has a branch that
5; is not analyzable.
6
7target triple = "hexagon"
8
9declare void @foo()
10
11; CHECK-LABEL: danny
12; CHECK: if (p0.new) jump:nt foo
13define void @danny(i32 %x) {
14 %t0 = icmp sgt i32 %x, 0
15 br i1 %t0, label %tail, label %exit, !prof !0
16tail:
17 tail call void @foo();
18 ret void
19exit:
20 ret void
21}
22
23; CHECK-LABEL: sammy
24; CHECK: if (!p0.new) jump:t foo
25define void @sammy(i32 %x) {
26 %t0 = icmp sgt i32 %x, 0
27 br i1 %t0, label %exit, label %tail, !prof !0
28tail:
29 tail call void @foo();
30 ret void
31exit:
32 ret void
33}
34
35!0 = !{!"branch_weights", i32 1, i32 2000}
36