[llvm] [AMDGPU] Swap select operands to allow later v_cndmask shrinking into vop2 (PR #142354)

Shilei Tian via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 16 08:24:06 PDT 2025


================
@@ -4727,29 +4732,45 @@ SDValue AMDGPUTargetLowering::performSelectCombine(SDNode *N,
   SDValue True = N->getOperand(1);
   SDValue False = N->getOperand(2);
 
-  if (Cond.hasOneUse()) { // TODO: Look for multiple select uses.
+  int ShouldSwap = 0;
+  for (auto *User : Cond->users()) {
+
+    if (User->getOpcode() != ISD::SELECT) {
+      ShouldSwap = 0;
+      break;
+    }
+
+    auto Op1 = User->getOperand(1);
----------------
shiltian wrote:

ditto

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


More information about the llvm-commits mailing list