[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