[llvm-branch-commits] [llvm] AMDGPU/GlobalISel: Temporal divergence lowering (non i1) (PR #124298)

Sameer Sahasrabuddhe via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Jan 29 19:28:39 PST 2025


================
@@ -395,6 +399,14 @@ template <typename ContextT> class GenericUniformityAnalysisImpl {
   }
 
   void print(raw_ostream &out) const;
+  SmallVector<UOCWDE, 8> UsesOutsideCycleWithDivergentExit;
+  void recordUseOutsideCycleWithDivergentExit(const InstructionT *,
----------------
ssahasra wrote:

You're right. The LLVM doc does not actually define the term "temporal divergence". But it has always been used in a way that means "uniform inside cycle, divergent outside cycle, due to divergent cycle exit. But whether the value is uniform inside the cycle is less important. What matters is that values arrive at the use on exits from different iterations by different threads. I think we should use the name TemporalDivergence here. It's shorter and will show up when someone greps for temporal divergence. Let's also not add "Candidate" ... it just makes the name longer with only a little bit of new information.

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


More information about the llvm-branch-commits mailing list