]> git.proxmox.com Git - rustc.git/blame - src/test/run-make-fulldeps/instrument-coverage/filecheck-patterns.txt
New upstream version 1.47.0+dfsg1
[rustc.git] / src / test / run-make-fulldeps / instrument-coverage / filecheck-patterns.txt
CommitLineData
3dfed10e
XL
1# Check for metadata, variables, declarations, and function definitions injected
2# into LLVM IR when compiling with -Zinstrument-coverage.
3
4WIN32: $__llvm_profile_runtime_user = comdat any
5
6CHECK: @__llvm_coverage_mapping = internal constant
7CHECK-SAME: section "[[INSTR_PROF_COVMAP]]", align 8
8
9WIN32: @__llvm_profile_runtime = external global i32
10
11CHECK: @__profc__R{{[a-zA-Z0-9_]+}}testprog14will_be_called = [[PRIVATE_GLOBAL]]
12CHECK-SAME: section "[[INSTR_PROF_CNTS]]", align 8
13
14CHECK: @__profd__R{{[a-zA-Z0-9_]+}}testprog14will_be_called = [[PRIVATE_GLOBAL]]
15CHECK-SAME: @__profc__R{{[a-zA-Z0-9_]+}}testprog14will_be_called,
16CHECK-SAME: ()* @_R{{[a-zA-Z0-9_]+}}testprog14will_be_called to i8*),
17CHECK-SAME: section "[[INSTR_PROF_DATA]]", align 8
18
19CHECK: @__profc__R{{[a-zA-Z0-9_]+}}testprog4main = [[PRIVATE_GLOBAL]]
20CHECK-SAME: section "[[INSTR_PROF_CNTS]]", align 8
21
22CHECK: @__profd__R{{[a-zA-Z0-9_]+}}testprog4main = [[PRIVATE_GLOBAL]]
23CHECK-SAME: @__profc__R{{[a-zA-Z0-9_]+}}testprog4main,
24CHECK-SAME: ()* @_R{{[a-zA-Z0-9_]+}}testprog4main to i8*),
25CHECK-SAME: section "[[INSTR_PROF_DATA]]", align 8
26
27CHECK: @__llvm_prf_nm = private constant
28CHECK-SAME: section "[[INSTR_PROF_NAME]]", align 1
29
30CHECK: @llvm.used = appending global
31CHECK-SAME: i8* bitcast ({ {{.*}} }* @__llvm_coverage_mapping to i8*)
32WIN32-SAME: i8* bitcast (i32 ()* @__llvm_profile_runtime_user to i8*)
33CHECK-SAME: i8* bitcast ({ {{.*}} }* @__profd__R{{[a-zA-Z0-9_]*}}testprog4main to i8*)
34CHECK-SAME: i8* getelementptr inbounds ({{.*}}* @__llvm_prf_nm, i32 0, i32 0)
35CHECK-SAME: section "llvm.metadata"
36
37CHECK: define hidden { {{.*}} } @_R{{[a-zA-Z0-9_]+}}testprog14will_be_called() unnamed_addr #{{[0-9]+}} {
38CHECK-NEXT: start:
39CHECK-NOT: bb{{[0-9]+}}:
40CHECK: %pgocount = load i64, i64* getelementptr inbounds
41CHECK-SAME: * @__profc__R{{[a-zA-Z0-9_]+}}testprog14will_be_called,
42
43CHECK: declare void @llvm.instrprof.increment(i8*, i64, i32, i32) #[[LLVM_INSTRPROF_INCREMENT_ATTR:[0-9]+]]
44
45WIN32: define linkonce_odr hidden i32 @__llvm_profile_runtime_user() #[[LLVM_PROFILE_RUNTIME_USER_ATTR:[0-9]+]] comdat {
46WIN32-NEXT: %1 = load i32, i32* @__llvm_profile_runtime
47WIN32-NEXT: ret i32 %1
48WIN32-NEXT: }
49
50CHECK: attributes #[[LLVM_INSTRPROF_INCREMENT_ATTR]] = { nounwind }
51WIN32: attributes #[[LLVM_PROFILE_RUNTIME_USER_ATTR]] = { noinline }