]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Transforms/PGOProfile/multiple_hash_profile.ll
Vendor import of llvm release_40 branch r292009:
[FreeBSD/FreeBSD.git] / test / Transforms / PGOProfile / multiple_hash_profile.ll
1 ; RUN: llvm-profdata merge %S/Inputs/multiple_hash_profile.proftext -o %t.profdata
2 ; RUN: opt < %s -pgo-instr-use -pgo-test-profile-file=%t.profdata  -S | FileCheck %s
3 ; RUN: opt < %s -passes=pgo-instr-use -pgo-test-profile-file=%t.profdata -S | FileCheck %s
4 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
5 target triple = "x86_64-unknown-linux-gnu"
6
7 $_Z3fooi = comdat any
8
9 @g2 = local_unnamed_addr global i32 (i32)* null, align 8
10
11 define i32 @_Z3bari(i32 %i) {
12 entry:
13   %cmp = icmp sgt i32 %i, 2
14   %mul = select i1 %cmp, i32 1, i32 %i
15   %retval.0 = mul nsw i32 %mul, %i
16   ret i32 %retval.0
17 }
18
19 define void @_Z4m2f1v() {
20 entry:
21   store i32 (i32)* @_Z3fooi, i32 (i32)** @g2, align 8
22   ret void
23 }
24
25 define linkonce_odr i32 @_Z3fooi(i32 %i) comdat {
26 entry:
27   %cmp.i = icmp sgt i32 %i, 2
28   %mul.i = select i1 %cmp.i, i32 1, i32 %i
29 ; CHECK: %mul.i = select i1 %cmp.i, i32 1, i32 %i
30 ; CHECK-SAME !prof ![[BW:[0-9]+]]
31 ; CHECK ![[BW]] = !{!"branch_weights", i32 12, i32 6}
32   %retval.0.i = mul nsw i32 %mul.i, %i
33   ret i32 %retval.0.i
34 }
35
36