[llvm] [LV] Allow for vectorizing parallel def-use chains (PR #225405)
Nashe Mncube via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 23 06:37:27 PDT 2026
================
@@ -384,10 +393,31 @@ static RecurrenceDescriptor getMinMaxRecurrence(PHINode *Phi, Loop *TheLoop,
Value *A, *B;
if (GetMinMaxRK(I, A, B) != RK)
return {};
+
+ // Results of FCmps should be used by single selects to qualify as valid
+ // intermediate uses of the Phi. These selects must exist as backedge
+ // values to unique def-use chains. These unique chains should be handled
+ // as separate but parralel "sub" min/max recurrences and should not cause
+ // this chain to fail getting the recurrence descriptor.
+ if (auto *FCmpI = dyn_cast<FCmpInst>(I)) {
----------------
nasherm wrote:
This is odd. When I initially wrote this patch as part of #198300 this seemed necessary.
Perhaps this is just redundant now due to upstream changes. Nevertheless, removed
https://github.com/llvm/llvm-project/pull/225405
More information about the llvm-commits
mailing list