[clang] [llvm] [AArch64][SVE] Refactor getPTrue to return splat(1) when pattern=all. (PR #139236)

Ricardo Jesus via llvm-commits llvm-commits at lists.llvm.org
Fri May 9 05:28:06 PDT 2025


================
@@ -25030,7 +25030,8 @@ static SDValue foldCSELofLASTB(SDNode *Op, SelectionDAG &DAG) {
   if (AnyPred.getOpcode() == AArch64ISD::REINTERPRET_CAST)
     AnyPred = AnyPred.getOperand(0);
 
-  if (TruePred != AnyPred && TruePred.getOpcode() != AArch64ISD::PTRUE)
+  if (TruePred != AnyPred && TruePred.getOpcode() != AArch64ISD::PTRUE &&
+      !ISD::isConstantSplatVectorAllOnes(TruePred.getNode()))
----------------
rj-jesus wrote:

Thanks very much for looking into this. :) In that case, I'll drop the `PTRUE` check in favour of `isAllActivePredicate`.

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


More information about the llvm-commits mailing list