shangwuyao added inline comments.
================ Comment at: clang/include/clang/Basic/Attr.td:1198 -def CUDAGlobal : InheritableAttr { - let Spellings = [GNU<"global">, Declspec<"__global__">]; +def CUDAGlobal : InheritableAttr, TargetSpecificAttr<TargetNVPTX> { + let Spellings = [GNU<"global">, Declspec<"__global__">, Clang<"nvptx_kernel">]; ---------------- jhuber6 wrote: > tra wrote: > > Nice. > > > > This reminded me that we have a project compiling CUDA, but targeting > > SPIR-V instead of NVPTX. It looks like this will likely break them. The > > project is out-of-tree, but I'd still need to figure out how to keep them > > working. I guess it would be easy enough to expand TargetNVPTX to > > TargetNVPTXOrSpirV. I'm mostly concerned about logistics of making it > > happen without disruption. > > > > > This might've broken more stuff after looking into it, I forgot that `AMDGPU` > still uses the same CUDA attributes, and the host portion of CUDA also checks > these. It would be nice if there was a way to say "CUDA" or "NVPTX", > wondering if that's possible in the tablegen here. What's the plan here for keeping the SPIR-V and AMDGPU working? Would it work if we simply get rid of the `TargetSpecificAttr<TargetNVPTX>`? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D140226/new/ https://reviews.llvm.org/D140226 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits