[llvm] [LLVM] New NoDivergenceSource function attribute (PR #111832)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 11 06:46:08 PDT 2024


================
@@ -32,7 +32,10 @@ bool llvm::GenericUniformityAnalysisImpl<SSAContext>::markDefsDivergent(
 
 template <> void llvm::GenericUniformityAnalysisImpl<SSAContext>::initialize() {
   for (auto &I : instructions(F)) {
-    if (TTI->isSourceOfDivergence(&I))
+    bool NoDivergenceSource = false;
+    if (auto Call = dyn_cast<CallBase>(&I))
+      NoDivergenceSource = Call->hasFnAttr(Attribute::NoDivergenceSource);
----------------
jayfoad wrote:

Would it make more sense to check for calls in `TargetTransformInfo::isSourceOfDivergence` before it calls into `TTIImpl`?

https://github.com/llvm/llvm-project/pull/111832


More information about the llvm-commits mailing list