[llvm] [SLP] Improve cost model for i1 select-as-or/and patterns (PR #188572)
Ryan Buchner via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 16 11:59:55 PDT 2026
================
@@ -16398,27 +16398,51 @@ BoUpSLP::getEntryCost(const TreeEntry *E, ArrayRef<Value *> VectorizedVals,
CmpPredicate CurrentPred = ScalarTy->isFloatingPointTy()
? CmpInst::BAD_FCMP_PREDICATE
: CmpInst::BAD_ICMP_PREDICATE;
+ Value *LHS = nullptr, *RHS = nullptr;
auto MatchCmp = m_Cmp(CurrentPred, m_Value(), m_Value());
- if ((!match(VI, m_Select(MatchCmp, m_Value(), m_Value())) &&
- !match(VI, MatchCmp)) ||
+ bool IsSelect =
+ ShuffleOrOp == Instruction::Select &&
----------------
bababuck wrote:
Won't `ShuffleOrOp == Instruction::Select` be checked by `m_Select`?
https://github.com/llvm/llvm-project/pull/188572
More information about the llvm-commits
mailing list