[PATCH] D134605: [SLP] Add ScalarizationOverheadBuilder helper to track vector extractions
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Sep 25 08:44:43 PDT 2022
RKSimon created this revision.
RKSimon added reviewers: ABataev, anton-afanasyev, vdmitrie, spatel.
Herald added subscribers: vporpo, hiraditya.
Herald added a project: All.
RKSimon requested review of this revision.
Herald added a subscriber: pcwang-thead.
Herald added a project: LLVM.
Instead of accumulating all extraction costs separately and then adjusting for repeated subvector extractions, this patch collects all the extractions and then converts to calls to getScalarizationOverhead to improve the accuracy of the costs.
I'm not entirely satisfied with the getExtractWithExtendCost handling yet - this still just adds all the getExtractWithExtendCost costs together so to not affect those costs at all - it really needs to be replaced with a "getScalarizationOverheadWithExtend", but that will require further refactoring first.
This replaces my initial attempt in D124769 <https://reviews.llvm.org/D124769>.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D134605
Files:
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/test/Transforms/Coroutines/coro-retcon-resume-values.ll
llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
llvm/test/Transforms/SLPVectorizer/X86/c-ray.ll
llvm/test/Transforms/SLPVectorizer/X86/crash_reordering_undefs.ll
llvm/test/Transforms/SLPVectorizer/X86/geps-non-pow-2.ll
llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D134605.462736.patch
Type: text/x-patch
Size: 62424 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220925/e45cde3e/attachment.bin>
More information about the llvm-commits
mailing list