[llvm-shlib] Fix the version naming style of libLLVM for Windows (#85710)
[llvm-project.git] / llvm / test / Instrumentation / InstrProfiling / section-code-model-medium.ll
blob0b269a87a64448ead17fbbfc2dcdbb0baab9bb64
1 ;; Check that certain globals are in large sections under x86-64 medium code model (but not in other arches).
2 ; RUN: opt %s -mtriple=x86_64-unknown-linux -passes=instrprof -S | FileCheck %s --check-prefixes=CHECK,X8664
3 ; RUN: opt %s -mtriple=ppc64-unknown-linux -passes=instrprof -S | FileCheck %s --check-prefixes=CHECK,PPC
5 @__profn_foo = private constant [3 x i8] c"foo"
7 define i32 @foo(ptr) {
8   call void @llvm.instrprof.increment(ptr @__profn_foo, i64 12884901887, i32 1, i32 0)
9   %2 = ptrtoint ptr %0 to i64
10   call void @llvm.instrprof.value.profile(ptr @__profn_foo, i64 12884901887, i64 %2, i32 0, i32 0)
11   %3 = tail call i32 %0()
12   ret i32 %3
15 ; Function Attrs: nounwind
16 declare void @llvm.instrprof.increment(ptr, i64, i32, i32) #0
18 ; Function Attrs: nounwind
19 declare void @llvm.instrprof.value.profile(ptr, i64, i64, i32, i32) #0
21 attributes #0 = { nounwind }
23 !llvm.module.flags = !{!0}
25 !0 = !{i32 1, !"Code Model", i32 3}
27 ; CHECK: @__profc_foo =
28 ; CHECK-NOT: code_model "large"
29 ; CHECK: @__profvp_foo =
30 ; X8664-SAME: code_model "large"
31 ; PPC-NOT: code_model "large"
32 ; CHECK: @__profd_foo =
33 ; CHECK-NOT: code_model "large"
34 ; CHECK: @__llvm_prf_vnodes =
35 ; X8664-SAME: code_model "large"
36 ; PPC-NOT: code_model "large"
37 ; CHECK: @__llvm_prf_nm =
38 ; X8664-SAME: code_model "large"
39 ; PPC-NOT: code_model "large"