[llvm] [SelectionDAG] Fix AArch64 machine verifier bug when expanding LOOP_DEPENDENCE_MASK (PR #168221)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 15 12:30:48 PST 2025
================
@@ -26013,9 +26013,12 @@ static SDValue reassociateCSELOperandsForCSE(SDNode *N, SelectionDAG &DAG) {
// Try again with the operands of the SUBS instruction and the condition
// swapped. Due to canonicalization, this only helps for non-constant
// operands of the SUBS instruction.
- std::swap(CmpOpToMatch, CmpOpOther);
- if (SDValue R = Fold(getSwappedCondition(CC), CmpOpToMatch, CmpOpToMatch))
- return R;
+ auto NewCC = getSwappedCondition(CC);
+ if (NewCC != AArch64CC::AL) {
+ std::swap(CmpOpToMatch, CmpOpOther);
+ if (SDValue R = Fold(NewCC, CmpOpToMatch, CmpOpToMatch))
+ return R;
+ }
----------------
AZero13 wrote:
Yeah that commit was fused in by mistake.
https://github.com/llvm/llvm-project/pull/168221
More information about the llvm-commits
mailing list