HomePhabricator

[OpenCL] Add memory_scope_all_devices

Authored by svenvh on Jun 8 2021, 3:50 AM.

Description

[OpenCL] Add memory_scope_all_devices

Add the memory_scope_all_devices enum value, which is restricted to
OpenCL 3.0 or newer and the __opencl_c_atomic_scope_all_devices
feature. Also guard memory_scope_all_svm_devices accordingly, which
is already available in OpenCL 2.0.

The __opencl_c_atomic_scope_all_devices feature is header-only, so
set its define to 1 in opencl-c-base.h. This is done
unconditionally at the moment, as the mechanism for disabling
header-only options hasn't been decided yet.

This patch only adds a negative test for now. Ideally adding a CL3.0
run line to atomic-ops.cl should suffice as a positive test, but we
cannot do that yet until (at least) generic address spaces and program
scope variables are supported in OpenCL 3.0 mode.

Differential Revision: https://reviews.llvm.org/D103241

Details

Committed
svenvhJun 8 2021, 3:51 AM
Differential Revision
D103241: [OpenCL] Add memory_scope_all_devices
Parents
rGccd1e087f370: [RISCV] Add a test case showing inefficient vector codegen
Branches
Unknown
Tags
Unknown