1
1
;; Check that static counters are allocated for value profiler
2
-
3
2
; RUN: opt < %s -mtriple=x86_64-unknown-linux -passes=instrprof -vp-static-alloc=true -S | FileCheck %s --check-prefix=STATIC
4
3
; RUN: opt < %s -mtriple=powerpc-unknown-linux -passes=instrprof -vp-static-alloc=true -S | FileCheck %s --check-prefix=STATIC
5
4
; RUN: opt < %s -mtriple=sparc-unknown-linux -passes=instrprof -vp-static-alloc=true -S | FileCheck %s --check-prefix=STATIC
16
15
; RUN: opt %s -mtriple=powerpc64-ibm-aix -passes=instrprof -S | FileCheck %s --check-prefix=ALIGN
17
16
; RUN: opt %s -mtriple=x86_64-unknown-linux -passes=instrprof -S | FileCheck %s --check-prefix=ALIGN
18
17
18
+ ;; Check that globals have the proper code model.
19
+ ; RUN: opt %s -mtriple=x86_64-unknown-linux -passes=instrprof -S | FileCheck %s --check-prefixes=CODEMODEL,CODEMODEL-X8664
20
+ ; RUN: opt %s -mtriple=powerpc-unknown-linux -passes=instrprof -S | FileCheck %s --check-prefixes=CODEMODEL,CODEMODEL-PPC
21
+
19
22
@__profn_foo = private constant [3 x i8 ] c "foo"
20
23
@__profn_bar = private constant [3 x i8 ] c "bar"
21
24
@@ -46,8 +49,8 @@ declare void @llvm.instrprof.value.profile(ptr, i64, i64, i32, i32) #0
46
49
47
50
attributes #0 = { nounwind }
48
51
49
- ; STATIC: @__profvp_foo = private global [1 x i64] zeroinitializer, section "{{[^"]+}}", comdat($__profc_foo)
50
- ; STATIC: @__profvp_bar = private global [1 x i64] zeroinitializer, section "{{[^"]+}}", comdat($__profc_bar)
52
+ ; STATIC: @__profvp_foo = private global [1 x i64] zeroinitializer, section "{{[^"]+}}",{{.*}} comdat($__profc_foo)
53
+ ; STATIC: @__profvp_bar = private global [1 x i64] zeroinitializer, section "{{[^"]+}}",{{.*}} comdat($__profc_bar)
51
54
; STATIC: @__llvm_prf_vnodes
52
55
53
56
; DYN-NOT: @__profvp_foo
@@ -73,5 +76,26 @@ attributes #0 = { nounwind }
73
76
; ALIGN: @__profc_bar = private global {{.*}} section "__llvm_prf_cnts",{{.*}} align 8
74
77
; ALIGN: @__profvp_bar = private global {{.*}} section "__llvm_prf_vals",{{.*}} align 8
75
78
; ALIGN: @__profd_bar = private global {{.*}} section "__llvm_prf_data",{{.*}} align 8
76
- ; ALIGN: @__llvm_prf_vnodes = private global {{.*}} section "__llvm_prf_vnds", align 8
77
- ; ALIGN: @__llvm_prf_nm = private constant {{.*}} section "__llvm_prf_names", align 1
79
+ ; ALIGN: @__llvm_prf_vnodes = private global {{.*}} section "__llvm_prf_vnds",{{.*}} align 8
80
+ ; ALIGN: @__llvm_prf_nm = private constant {{.*}} section "__llvm_prf_names",{{.*}} align 1
81
+
82
+ ; CODEMODEL: @__profc_foo =
83
+ ; CODEMODEL-NOT: code_model "large"
84
+ ; CODEMODEL: @__profvp_foo =
85
+ ; CODEMODEL-X8664-SAME: code_model "large"
86
+ ; CODEMODEL-PPC-NOT: code_model
87
+ ; CODEMODEL: @__profd_foo =
88
+ ; CODEMODEL-NOT: code_model "large"
89
+ ; CODEMODEL: @__profc_bar =
90
+ ; CODEMODEL-NOT: code_model "large"
91
+ ; CODEMODEL: @__profvp_bar =
92
+ ; CODEMODEL-X8664-SAME: code_model "large"
93
+ ; CODEMODEL-PPC-NOT: code_model
94
+ ; CODEMODEL: @__profd_bar =
95
+ ; CODEMODEL-NOT: code_model "large"
96
+ ; CODEMODEL: @__llvm_prf_vnodes =
97
+ ; CODEMODEL-X8664-SAME: code_model "large"
98
+ ; CODEMODEL-PPC-NOT: code_model
99
+ ; CODEMODEL: @__llvm_prf_nm =
100
+ ; CODEMODEL-X8664-SAME: code_model "large"
101
+ ; CODEMODEL-PPC-NOT: code_model
0 commit comments