[PATCH] D135174: [SLP]Redesign vectorization of the gather nodes.

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 4 09:10:02 PDT 2022


ABataev created this revision.
ABataev added reviewers: RKSimon, vdmitrie.
Herald added subscribers: kosarev, vporpo, kerbowa, hiraditya, jvesely.
Herald added a project: All.
ABataev requested review of this revision.
Herald added a subscriber: pcwang-thead.
Herald added a project: LLVM.

Gather nodes are vectorized as simply vector of the scalars instead of
relying on the actual node. It leads to the fact that in some cases
we may miss incorrect transformation (non-matching set of scalars is
just ended as a gather node instead of possible vector/gather node).
Better to rely on the actual nodes, it allows to improve stability and
better detect missed cases.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D135174

Files:
  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
  llvm/test/Transforms/SLPVectorizer/AArch64/matmul.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/slp-fma-loss.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/splat-loads.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
  llvm/test/Transforms/SLPVectorizer/AMDGPU/packed-math.ll
  llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
  llvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
  llvm/test/Transforms/SLPVectorizer/X86/alternate-cmp-swapped-pred.ll
  llvm/test/Transforms/SLPVectorizer/X86/broadcast_long.ll
  llvm/test/Transforms/SLPVectorizer/X86/buildvector-shuffle.ll
  llvm/test/Transforms/SLPVectorizer/X86/c-ray.ll
  llvm/test/Transforms/SLPVectorizer/X86/cmp_sel.ll
  llvm/test/Transforms/SLPVectorizer/X86/commutativity.ll
  llvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll
  llvm/test/Transforms/SLPVectorizer/X86/crash_cmpop.ll
  llvm/test/Transforms/SLPVectorizer/X86/crash_exceed_scheduling.ll
  llvm/test/Transforms/SLPVectorizer/X86/cse.ll
  llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
  llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
  llvm/test/Transforms/SLPVectorizer/X86/extractelement-multiple-uses.ll
  llvm/test/Transforms/SLPVectorizer/X86/extractelement.ll
  llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
  llvm/test/Transforms/SLPVectorizer/X86/in-tree-user.ll
  llvm/test/Transforms/SLPVectorizer/X86/insert-shuffle.ll
  llvm/test/Transforms/SLPVectorizer/X86/jumbled-load-multiuse.ll
  llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
  llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
  llvm/test/Transforms/SLPVectorizer/X86/ordering-bug.ll
  llvm/test/Transforms/SLPVectorizer/X86/partail.ll
  llvm/test/Transforms/SLPVectorizer/X86/phi-undef-input.ll
  llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
  llvm/test/Transforms/SLPVectorizer/X86/remark_extract_broadcast.ll
  llvm/test/Transforms/SLPVectorizer/X86/reorder_phi.ll
  llvm/test/Transforms/SLPVectorizer/X86/reorder_with_external_users.ll
  llvm/test/Transforms/SLPVectorizer/X86/reused-undefs.ll
  llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
  llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D135174.465041.patch
Type: text/x-patch
Size: 155596 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221004/4178f97d/attachment-0001.bin>


More information about the llvm-commits mailing list