================
@@ -337,9 +337,12 @@ void AMDGPUTargetInfo::getTargetDefines(const LangOptions 
&Opts,
   if (hasFastFMA())
     Builder.defineMacro("FP_FAST_FMA");
 
-  Builder.defineMacro("__AMDGCN_WAVEFRONT_SIZE__", Twine(WavefrontSize));
-  // ToDo: deprecate this macro for naming consistency.
-  Builder.defineMacro("__AMDGCN_WAVEFRONT_SIZE", Twine(WavefrontSize));
+  Builder.defineMacro("__AMDGCN_WAVEFRONT_SIZE__", Twine(WavefrontSize),
+                      "compile-time-constant access to the wavefront size will 
"
+                      "be removed in a future release");
+  Builder.defineMacro("__AMDGCN_WAVEFRONT_SIZE", Twine(WavefrontSize),
+                      "compile-time-constant access to the wavefront size will 
"
+                      "be removed in a future release");
----------------
al42and wrote:

The use we currently have in our project is to detect, via CMake's 
`try_compile`, whether we have Wave64 or Wave32 targets (or both) to later 
choose which data structure flavors to instantiate. With the macro, we can 
easily do `#if`+`#warning` inside a kernel, and then parse the build log.

Without it, the only solution we found was to parse the list of targets, which 
feels more brittle. `__builtin_amdgcn_wavefrontsize()` is not a compile-time 
constant expression, so cannot be used for such checks. Am I missing something? 
What is the planned timeline for the removal of this macro?

https://github.com/llvm/llvm-project/pull/112849
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to