[PATCH] D101109: [SLP]Improve multinode analysis.

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 22 14:01:52 PDT 2021


ABataev created this revision.
ABataev added reviewers: spatel, RKSimon, vdmitrie.
Herald added subscribers: tmatheson, hiraditya.
ABataev requested review of this revision.
Herald added a project: LLVM.

Changes the preliminary multinode analysis:

1. Introduced scores for reversed loads/extractelements.
2. Improved shallow score calculation.
3. Lowered the cost of external uses (no need to consider it several times, just ones).
4. The initial lane for analysis is the one with the minimal possible reorderings.

These changes in general shall reduce compile time and improve the
reordering in many cases.

Part of D57059 <https://reviews.llvm.org/D57059>.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D101109

Files:
  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
  llvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
  llvm/test/Transforms/SLPVectorizer/X86/commutativity.ll
  llvm/test/Transforms/SLPVectorizer/X86/crash_exceed_scheduling.ll
  llvm/test/Transforms/SLPVectorizer/X86/crash_smallpt.ll
  llvm/test/Transforms/SLPVectorizer/X86/extractelement.ll
  llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
  llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
  llvm/test/Transforms/SLPVectorizer/X86/supernode.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D101109.339777.patch
Type: text/x-patch
Size: 64324 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210422/a5e63eb7/attachment.bin>


More information about the llvm-commits mailing list