================
@@ -12222,8 +12222,17 @@ bool Sema::CheckFunctionDeclaration(Scope *S,
FunctionDecl *NewFD,
<< NewFD;
}
- if (!Redeclaration && LangOpts.CUDA)
+ if (!Redeclaration && LangOpts.CUDA) {
----------------
Artem-B wrote:
I deliberately decided *not* to do that.
`__grid_constant__` is an optimization hint, and LLVM *will* ignore it if the
attribute is present, but we're targeting an older GPU, or generating an older
PTX version. Considering that using the attribute with pre-sm70 GPU does no
harm I do not think it should be an error.
NVCC's insistence on erroring out if the attribute is used during compilation
for an older GPU is unnecessaryand it makes the attribute a pain to use in
practice. Considering that it's not uncommon to compile the same source code
for multiple GPUs, including the older ones, we'll have to resort to
preprocessor tweaks and undef the attribute way, if we want to give compiler a
hint that we want to avoid copying some arguments.
https://github.com/llvm/llvm-project/pull/114589
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits