@@ -5,12 +5,16 @@ void bar2(int & Data) {}
5
5
// CHECK-DAG: define spir_func void @[[RAW_REF2:[a-zA-Z0-9_]+]](i32 addrspace(4)* dereferenceable(4) %
6
6
void bar (__attribute__((opencl_local)) int &Data) {}
7
7
// CHECK-DAG: define spir_func void [[LOC_REF:@[a-zA-Z0-9_]+]](i32 addrspace(3)* dereferenceable(4) %
8
+ void bar3 (__attribute__((opencl_global)) int &Data) {}
9
+ // CHECK-DAG: define spir_func void @[[GLOB_REF:[a-zA-Z0-9_]+]](i32 addrspace(1)* dereferenceable(4) %
8
10
void foo (int * Data) {}
9
11
// CHECK-DAG: define spir_func void @[[RAW_PTR:[a-zA-Z0-9_]+]](i32 addrspace(4)* %
10
12
void foo2 (int * Data) {}
11
13
// CHECK-DAG: define spir_func void @[[RAW_PTR2:[a-zA-Z0-9_]+]](i32 addrspace(4)* %
12
14
void foo (__attribute__((opencl_local)) int *Data) {}
13
15
// CHECK-DAG: define spir_func void [[LOC_PTR:@[a-zA-Z0-9_]+]](i32 addrspace(3)* %
16
+ void foo3 (__attribute__((opencl_global)) int *Data) {}
17
+ // CHECK-DAG: define spir_func void @[[GLOB_PTR:[a-zA-Z0-9_]+]](i32 addrspace(1)* %
14
18
15
19
template <typename T>
16
20
void tmpl (T t){}
@@ -47,6 +51,10 @@ void usages() {
47
51
// CHECK-DAG: [[USMDEV_LOAD2:%[a-zA-Z0-9]+]] = load i32 addrspace(11)*, i32 addrspace(11)** [[USMDEV]]
48
52
// CHECK-DAG: [[USMDEV_CAST2:%[a-zA-Z0-9]+]] = addrspacecast i32 addrspace(11)* [[USMDEV_LOAD2]] to i32 addrspace(4)*
49
53
// CHECK-DAG: call spir_func void @[[RAW_REF2]](i32 addrspace(4)* dereferenceable(4) [[USMDEV_CAST2]])
54
+ bar3 (*USMDEV);
55
+ // CHECK-DAG: [[USMDEV_LOAD3:%[a-zA-Z0-9]+]] = load i32 addrspace(11)*, i32 addrspace(11)** [[USMDEV]]
56
+ // CHECK-DAG: [[USMDEV_CAST3:%[a-zA-Z0-9]+]] = addrspacecast i32 addrspace(11)* [[USMDEV_LOAD3]] to i32 addrspace(1)*
57
+ // CHECK-DAG: call spir_func void @[[GLOB_REF]](i32 addrspace(1)* dereferenceable(4) [[USMDEV_CAST3]])
50
58
51
59
bar (*USMHOST);
52
60
// CHECK-DAG: [[USMHOST_LOAD:%[a-zA-Z0-9]+]] = load i32 addrspace(12)*, i32 addrspace(12)** [[USMHOST]]
@@ -56,6 +64,10 @@ void usages() {
56
64
// CHECK-DAG: [[USMHOST_LOAD2:%[a-zA-Z0-9]+]] = load i32 addrspace(12)*, i32 addrspace(12)** [[USMHOST]]
57
65
// CHECK-DAG: [[USMHOST_CAST2:%[a-zA-Z0-9]+]] = addrspacecast i32 addrspace(12)* [[USMHOST_LOAD2]] to i32 addrspace(4)*
58
66
// CHECK-DAG: call spir_func void @[[RAW_REF2]](i32 addrspace(4)* dereferenceable(4) [[USMHOST_CAST2]])
67
+ bar3 (*USMHOST);
68
+ // CHECK-DAG: [[USMHOST_LOAD3:%[a-zA-Z0-9]+]] = load i32 addrspace(12)*, i32 addrspace(12)** [[USMHOST]]
69
+ // CHECK-DAG: [[USMHOST_CAST3:%[a-zA-Z0-9]+]] = addrspacecast i32 addrspace(12)* [[USMHOST_LOAD3]] to i32 addrspace(1)*
70
+ // CHECK-DAG: call spir_func void @[[GLOB_REF]](i32 addrspace(1)* dereferenceable(4) [[USMHOST_CAST3]])
59
71
60
72
bar (*LOC);
61
73
// CHECK-DAG: [[LOC_LOAD:%[a-zA-Z0-9]+]] = load i32 addrspace(3)*, i32 addrspace(3)** [[LOC]]
@@ -81,21 +93,29 @@ void usages() {
81
93
// CHECK-DAG: [[GLOB_CAST4:%[a-zA-Z0-9]+]] = addrspacecast i32 addrspace(1)* [[GLOB_LOAD4]] to i32 addrspace(4)*
82
94
// CHECK-DAG: call spir_func void @[[RAW_PTR2]](i32 addrspace(4)* [[GLOB_CAST4]])
83
95
foo (USMDEV);
84
- // CHECK-DAG: [[USMDEV_LOAD3:%[a-zA-Z0-9]+]] = load i32 addrspace(11)*, i32 addrspace(11)** [[USMDEV]]
85
- // CHECK-DAG: [[USMDEV_CAST3:%[a-zA-Z0-9]+]] = addrspacecast i32 addrspace(11)* [[USMDEV_LOAD3]] to i32 addrspace(4)*
86
- // CHECK-DAG: call spir_func void @[[RAW_PTR]](i32 addrspace(4)* [[USMDEV_CAST3]])
87
- foo2 (USMDEV);
88
96
// CHECK-DAG: [[USMDEV_LOAD4:%[a-zA-Z0-9]+]] = load i32 addrspace(11)*, i32 addrspace(11)** [[USMDEV]]
89
97
// CHECK-DAG: [[USMDEV_CAST4:%[a-zA-Z0-9]+]] = addrspacecast i32 addrspace(11)* [[USMDEV_LOAD4]] to i32 addrspace(4)*
90
- // CHECK-DAG: call spir_func void @[[RAW_PTR2]](i32 addrspace(4)* [[USMDEV_CAST4]])
98
+ // CHECK-DAG: call spir_func void @[[RAW_PTR]](i32 addrspace(4)* [[USMDEV_CAST4]])
99
+ foo2 (USMDEV);
100
+ // CHECK-DAG: [[USMDEV_LOAD5:%[a-zA-Z0-9]+]] = load i32 addrspace(11)*, i32 addrspace(11)** [[USMDEV]]
101
+ // CHECK-DAG: [[USMDEV_CAST5:%[a-zA-Z0-9]+]] = addrspacecast i32 addrspace(11)* [[USMDEV_LOAD5]] to i32 addrspace(4)*
102
+ // CHECK-DAG: call spir_func void @[[RAW_PTR2]](i32 addrspace(4)* [[USMDEV_CAST5]])
103
+ foo3 (USMDEV);
104
+ // CHECK-DAG: [[USMDEV_LOAD6:%[a-zA-Z0-9]+]] = load i32 addrspace(11)*, i32 addrspace(11)** [[USMDEV]]
105
+ // CHECK-DAG: [[USMDEV_CAST6:%[a-zA-Z0-9]+]] = addrspacecast i32 addrspace(11)* [[USMDEV_LOAD6]] to i32 addrspace(1)*
106
+ // CHECK-DAG: call spir_func void @[[GLOB_PTR]](i32 addrspace(1)* [[USMDEV_CAST6]])
91
107
foo (USMHOST);
92
- // CHECK-DAG: [[USMHOST_LOAD3:%[a-zA-Z0-9]+]] = load i32 addrspace(12)*, i32 addrspace(12)** [[USMHOST]]
93
- // CHECK-DAG: [[USMHOST_CAST3:%[a-zA-Z0-9]+]] = addrspacecast i32 addrspace(12)* [[USMHOST_LOAD3]] to i32 addrspace(4)*
94
- // CHECK-DAG: call spir_func void @[[RAW_PTR]](i32 addrspace(4)* [[USMHOST_CAST3]])
95
- foo2 (USMHOST);
96
108
// CHECK-DAG: [[USMHOST_LOAD4:%[a-zA-Z0-9]+]] = load i32 addrspace(12)*, i32 addrspace(12)** [[USMHOST]]
97
109
// CHECK-DAG: [[USMHOST_CAST4:%[a-zA-Z0-9]+]] = addrspacecast i32 addrspace(12)* [[USMHOST_LOAD4]] to i32 addrspace(4)*
98
- // CHECK-DAG: call spir_func void @[[RAW_PTR2]](i32 addrspace(4)* [[USMHOST_CAST4]])
110
+ // CHECK-DAG: call spir_func void @[[RAW_PTR]](i32 addrspace(4)* [[USMHOST_CAST4]])
111
+ foo2 (USMHOST);
112
+ // CHECK-DAG: [[USMHOST_LOAD5:%[a-zA-Z0-9]+]] = load i32 addrspace(12)*, i32 addrspace(12)** [[USMHOST]]
113
+ // CHECK-DAG: [[USMHOST_CAST5:%[a-zA-Z0-9]+]] = addrspacecast i32 addrspace(12)* [[USMHOST_LOAD5]] to i32 addrspace(4)*
114
+ // CHECK-DAG: call spir_func void @[[RAW_PTR2]](i32 addrspace(4)* [[USMHOST_CAST5]])
115
+ foo3 (USMHOST);
116
+ // CHECK-DAG: [[USMHOST_LOAD6:%[a-zA-Z0-9]+]] = load i32 addrspace(12)*, i32 addrspace(12)** [[USMHOST]]
117
+ // CHECK-DAG: [[USMHOST_CAST6:%[a-zA-Z0-9]+]] = addrspacecast i32 addrspace(12)* [[USMHOST_LOAD6]] to i32 addrspace(1)*
118
+ // CHECK-DAG: call spir_func void @[[GLOB_PTR]](i32 addrspace(1)* [[USMHOST_CAST6]])
99
119
foo (LOC);
100
120
// CHECK-DAG: [[LOC_LOAD3:%[a-zA-Z0-9]+]] = load i32 addrspace(3)*, i32 addrspace(3)** [[LOC]]
101
121
// CHECK-DAG: call spir_func void [[LOC_PTR]](i32 addrspace(3)* [[LOC_LOAD3]])
0 commit comments