PATCH: re-enable OpenCL extensions

Hi,

I noticed a change from clang 3.8 to 3.9, that it disabled all OpenCL extension pragmas per default.
This broke pocl on e.g. ARM for LLVM 3.9 (OpenCL extensions disabled on LLVM 3.9 · Issue #409 · pocl/pocl · GitHub).

Example:
$ echo "#pragma OPENCL EXTENSION cl_khr_icd: enable" > hello.cl
$ clang -emit-llvm -x cl -o tmp.bc -c hello.cl

works fine, but:
$ clang -emit-llvm -x cl -o tmp.bc -c hello.cl --target=armv7-unknown-linux-gnueabihf
hello.cl:1:26: warning: unsupported OpenCL extension 'cl_khr_icd' - ignoring [-Wignored-pragmas]
#pragma OPENCL EXTENSION cl_khr_icd: enable
                          ^
1 warning generated.

Attached is a patch that enables OpenCL extensions for all targets per default, and then sets the
status quo of supported extensions for those targets that currently customize their settings (i.e.
NVPTX and AMDGPU).
Most generic CPUs can handle all OpenCL extensions just fine.

Please keep me as CC, I am not subscribed to the list.
thanks,
kalle

enable_OCL_extensions.patch (1.91 KB)

Hi Kalle,

Could you please send this to cfe-commits instead or even better setup the Phabricator review: https://reviews.llvm.org/ with "[OpenCL] ..." in a title.

Generally it was discussed during the development that disabling the extensions by default for the targets that don't support OpenCL is the right approach.

Cheers,
Anastasia