brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 7408d00 Raw
44 lines · plain
1; RUN: opt < %s -disable-output -passes="print<block-freq>" 2>&1 | FileCheck %s2; Sanity check precision for small-ish min/max spread.3 4@g = global i32 05 6; CHECK-LABEL: block-frequency-info: func07; CHECK: - entry: float = 1.0, {{.*}}, count = 10008; CHECK: - cmp0_true: float = 0.4, {{.*}}, count = 4009; CHECK: - cmp0_false: float = 0.6, {{.*}}, count = 60010; CHECK: - cmp1_true: float = 0.1, {{.*}}, count = 10011; CHECK: - cmp1_false: float = 0.3, {{.*}}, count = 30012; CHECK: - join: float = 1.0, {{.*}}, count = 100013 14define void @func0(i32 %a0, i32 %a1) !prof !0 {15entry:16  %cmp0 = icmp ne i32 %a0, 017  br i1 %cmp0, label %cmp0_true, label %cmp0_false, !prof !118 19cmp0_true:20  store volatile i32 1, ptr @g21  %cmp1 = icmp ne i32 %a1, 022  br i1 %cmp1, label %cmp1_true, label %cmp1_false, !prof !223 24cmp0_false:25  store volatile i32 2, ptr @g26  br label %join27 28cmp1_true:29  store volatile i32 3, ptr @g30  br label %join31 32cmp1_false:33  store volatile i32 4, ptr @g34  br label %join35 36join:37  store volatile i32 5, ptr @g38  ret void39}40 41!0 = !{!"function_entry_count", i64 1000}42!1 = !{!"branch_weights", i32 400, i32 600}43!2 = !{!"branch_weights", i32 1, i32 3}44