[llvm] [AMDGPU] SelectionDAG divergence tracking should take into account Target divergency. (PR #144947)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 27 00:24:40 PDT 2025


================
@@ -13600,16 +13606,20 @@ void SelectionDAG::createOperands(SDNode *Node, ArrayRef<SDValue> Vals) {
     Ops[I].setInitial(Vals[I]);
     EVT VT = Ops[I].getValueType();
 
+    // Take care of the Node's operands iif target has divergence
     // Skip Chain. It does not carry divergence.
-    if (VT != MVT::Other &&
+    if (DivergentTarget && VT != MVT::Other &&
----------------
jayfoad wrote:

You don't really need to check `DivergentTarget` here since you also check it before setting `Node->SDNodeBits.IsDivergent`.

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


More information about the llvm-commits mailing list