-
Notifications
You must be signed in to change notification settings - Fork 798
Open
Labels
upstreamThis change is related to upstreaming SYCL support to llorg.This change is related to upstreaming SYCL support to llorg.
Description
#define __private __attribute__((opencl_private))
#define __local __attribute__((opencl_local))
//struct S { void f() __private; }; //should be OK, but is error
void t() {
//__private int i1; //should be OK, but is error
int i2;
__private int* p;
__local int* l;
p-l; //should be error "non-overlapping address spaces"
}
OCL C++ version: https://godbolt.org/z/wCDKhZ
For users to use the decorated pointer (from multi_ptr::pointer_t
) for performance tuning it is important this doesn't have any unintentional differences.
- Attribute on methods is important to have a
this
pointer with attribute - Allowing attribute on variable avoids having to strip address space in templated code
- Error for non-overlapping address space is important to have correct code
#1581 contains some previous discussion of this issue.
Metadata
Metadata
Assignees
Labels
upstreamThis change is related to upstreaming SYCL support to llorg.This change is related to upstreaming SYCL support to llorg.