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-prefix=X8664-CODEMODEL
20
+ ; RUN: opt %s -mtriple=powerpc-unknown-linux -passes=instrprof -S | FileCheck %s --check-prefix=PPC-CODEMODEL
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,15 @@ 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
+ ; X8664-CODEMODEL-NOT: @__profc_foo = {{.*}}, code_model "large"
83
+ ; X8664-CODEMODEL: @__profvp_foo = {{.*}}, code_model "large"
84
+ ; X8664-CODEMODEL-NOT: @__profd_foo = {{.*}}, code_model "large"
85
+ ; X8664-CODEMODEL-NOT: @__profc_bar = {{.*}}, code_model "large"
86
+ ; X8664-CODEMODEL: @__profvp_bar = {{.*}}, code_model "large"
87
+ ; X8664-CODEMODEL-NOT: @__profd_bar = {{.*}}, code_model "large"
88
+ ; X8664-CODEMODEL: @__llvm_prf_vnodes = {{.*}}, code_model "large"
89
+ ; X8664-CODEMODEL: @__llvm_prf_nm = {{.*}}, code_model "large"
90
+ ; PPC-CODEMODEL-NOT: code_model "large"
0 commit comments