Skip to content

Commit 77181b3

Browse files
authored
[NATIVECPU][PERF] add noalias to state struct pointer (#19288)
Adding the `noalias` attribute to the state struct pointer as it cannot alias with any other pointer parameter.
1 parent b707123 commit 77181b3

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

llvm/lib/SYCLNativeCPUUtils/PrepareSYCLNativeCPU.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,8 @@ Function *cloneFunctionAndAddParam(Function *OldF, Type *T,
161161
if (!OldF->isDeclaration())
162162
CloneFunctionInto(NewF, OldF, VMap,
163163
CloneFunctionChangeType::LocalChangesOnly, ReturnInst);
164+
if (StateArgTLS == nullptr)
165+
NewF->addParamAttr(Args.size() - 1, llvm::Attribute::NoAlias);
164166
return NewF;
165167
}
166168

sycl/test/check_device_code/native_cpu/native_cpu_builtins.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,15 @@ int main() {
4343
deviceQueue.submit([&](sycl::handler &h) {
4444
h.parallel_for<Test2>(
4545
r2, [=](sycl::nd_item<2> ndi) { acc[ndi.get_global_id(1)] = 42; });
46-
// CHECK: @_ZTS5Test2.NativeCPUKernel(ptr {{.*}}%0, ptr {{.*}}%1, ptr addrspace(1) %2)
46+
// CHECK: @_ZTS5Test2.NativeCPUKernel(ptr {{.*}}%0, ptr {{.*}}%1, ptr addrspace(1) noalias %2)
4747
// CHECK: call{{.*}}__dpcpp_nativecpu_get_global_id(i32 0, ptr addrspace(1) %2)
4848
});
4949
sycl::nd_range<3> r3({1, 1, 1}, {1, 1, 1});
5050
deviceQueue.submit([&](sycl::handler &h) {
5151
h.parallel_for<Test3>(r3, [=](sycl::nd_item<3> ndi) {
5252
acc[ndi.get_global_id(2)] = ndi.get_global_range(0);
5353
});
54-
// CHECK: @_ZTS5Test3.NativeCPUKernel(ptr {{.*}}%0, ptr {{.*}}%1, ptr addrspace(1) %2)
54+
// CHECK: @_ZTS5Test3.NativeCPUKernel(ptr {{.*}}%0, ptr {{.*}}%1, ptr addrspace(1) noalias %2)
5555
// CHECK-DAG: call{{.*}}__dpcpp_nativecpu_get_global_range(i32 2, ptr addrspace(1) %2)
5656
// CHECK-DAG: call{{.*}}__dpcpp_nativecpu_get_global_id(i32 0, ptr addrspace(1) %2)
5757
});

0 commit comments

Comments
 (0)