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

Petar Avramovic via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Jan 29 02:24:53 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 *,
----------------
petar-avramovic wrote:

I was considering TemporalDivergenceCandidate.  I did not find strict definition of Temporal Divergence so I ended up using UseOutsideCycleWithDivergentExit since it is more technical and, I assume, not target dependent.
It is not Temporal Divergence until we check uniformity of Src used OutsideCycleWithDivergentExit and it turns out to be uniform or the other case check type and it is i1. For us divergent i1 is also technically Temporal Divergence since it will ends up in sgpr.
I am fine with using different name instead of "UseOutsideCycleWithDivergentExit" if you think it is more appropriate.

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


More information about the llvm-branch-commits mailing list