I'm trying to determine with some precision how much of OpenCL/C is currently
implemented by Clang? I find scattered posts and references to simple
examples and submissions/patches but nothing comprehensive. Wouldn't
something along the lines of the C++11 status webpage be useful?
http://clang.llvm.org/cxx_status.html
It seems there are three aspects to support:
1) parsing
2) libclc
3) ptx code generation
I see there are about a dozen test kernels in /cfe/trunk/test/CodeGenOpenCL/
2011-04-15-vec-init-from-vec.cl
address-spaces.cl
ext-vector-shuffle.cl
fpmath.cl
kernel-arg-info.cl
kernel-attributes.cl
kernel-metadata.cl
local.cl
ptx-calls.cl
ptx-kernels.cl
single-precision-constant.cl
vector_literals_nested.cl
vector_literals_valid.cl
vector_logops.cl
and five test kernels in /cfe/trunk/test/CodeGen/
opencl-astype.cl
opencl-image-access.cl
opencl-kernel.cl
opencl-pragma.cl
opencl-storage-class.cl
But these demonstrate correct implementation of only a very small subset of
features. (I've asked Peter Collingbourne a similar question about libclc by
separate post.)
It seems that a clear description of what is and isn't currently implemented
would save redundant effort of people trying to figure this out and help
converge on a complete implementation by focusing would-be contributors on
what remains.
Thanks!
phillip w. hutto
research scientist 2
georgia tech / college of computing
high-performance architecture group