The final reduction nodes should not be reordered, the order does not
matter for reductions. Also, it might be profitable to vectorize smaller
reduction trees, reduction cost may compensate small tree cost.
Part of D111574
Paths
| Differential D112467
[SLP]Do not reorder reduction nodes. ClosedPublic Authored by ABataev on Oct 25 2021, 10:07 AM.
Details Summary The final reduction nodes should not be reordered, the order does not Part of D111574
Diff Detail
Unit TestsFailed Event Timeline
Comment Actions LGTM - cheers
This revision is now accepted and ready to land.Oct 26 2021, 6:45 AM Closed by commit rGce14d1b690d8: [SLP]Do not reorder reduction nodes. (authored by ABataev). · Explain WhyOct 26 2021, 7:44 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 382036 llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
|
Is FreeOrder the right name? Its suggests a cost but AFAICT this really just says that the final order is irrelevant/unecessary?