[PATCH] D76365: [cuda][hip] Add CUDA builtin surface/texture reference support.
Michael Liao via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Mar 27 10:17:20 PDT 2020
hliao added a comment.
In D76365#1946407 <https://reviews.llvm.org/D76365#1946407>, @tra wrote:
> In D76365#1946345 <https://reviews.llvm.org/D76365#1946345>, @tra wrote:
>
> > Looks like the change breaks compilation for us:
> >
> > In file included from <built-in>:1:
> > In file included from llvm_unstable/toolchain/lib/clang/google3-trunk/include/__clang_cuda_runtime_wrapper.h:104:
> > In file included from cuda/include/cuda_runtime.h:116: cuda/include/cuda_surface_types.h:91:42: error: illegal device builtin surface reference type 'surface<void, dim>' declared here
> > struct __device_builtin_surface_type__ surface<void, dim> : public surfaceReference
> > ^
> > cuda/include/cuda_surface_types.h:91:42: note: 'surface<void, dim>' needs to be instantiated from a class template with the 2nd template argument as an integral value
> > 1 error generated when compiling for sm_60.
> >
> >
> > I'm investigating, but we may need to roll back this patch. Stay tuned.
>
>
> It appears that the assumptions of what types the attributes can apply to are not valid. In CUDA headers they are also used on non-templated classes/structs. E.g in cuda/include/cuda_surface_types.h:74
>
> struct __attribute__((device_builtin_surface_type)) surface : public surfaceReference
> {
> ...
> };
>
>
> I'll undo this patch until we can make it work.
That's a partial template specialization needs handling. I am revising that patch. Please revert it first. Thanks.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D76365/new/
https://reviews.llvm.org/D76365
More information about the cfe-commits
mailing list