[PATCH] D144958: [SLP]Initial support for reshuffling of non-starting buildvector/gather nodes.

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 28 05:21:09 PST 2023


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.

Previously only the very first gather/buildvector node might be probed for reshuffling of other nodes.
But the compiler may do the same for other gather/buildvector nodes too, just need to check the
dependency and postpone the emission of the dependent nodes, if the origin nodes were not emitted yet.

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


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D144958

Files:
  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
  llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
  llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
  llvm/test/Transforms/SLPVectorizer/AMDGPU/crash_extract_subvector_cost.ll
  llvm/test/Transforms/SLPVectorizer/AMDGPU/phi-result-use-order.ll
  llvm/test/Transforms/SLPVectorizer/X86/PR35865-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/PR35865.ll
  llvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
  llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
  llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
  llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
  llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-fp-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-fp.ll
  llvm/test/Transforms/SLPVectorizer/X86/crash_exceed_scheduling.ll
  llvm/test/Transforms/SLPVectorizer/X86/crash_smallpt.ll
  llvm/test/Transforms/SLPVectorizer/X86/extract-shuffle-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/extract-shuffle.ll
  llvm/test/Transforms/SLPVectorizer/X86/extract.ll
  llvm/test/Transforms/SLPVectorizer/X86/extractelement-multiple-uses.ll
  llvm/test/Transforms/SLPVectorizer/X86/extractelement.ll
  llvm/test/Transforms/SLPVectorizer/X86/gather-extractelements-different-bbs.ll
  llvm/test/Transforms/SLPVectorizer/X86/hadd-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/hadd.ll
  llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-const-undef.ll
  llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
  llvm/test/Transforms/SLPVectorizer/X86/insertelement-postpone.ll
  llvm/test/Transforms/SLPVectorizer/X86/landing_pad.ll
  llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
  llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
  llvm/test/Transforms/SLPVectorizer/X86/odd_store.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr49081.ll
  llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
  llvm/test/Transforms/SLPVectorizer/X86/reduction-same-vals.ll
  llvm/test/Transforms/SLPVectorizer/X86/remark_extract_broadcast.ll
  llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
  llvm/test/Transforms/SLPVectorizer/X86/vect-gather-same-nodes.ll
  llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D144958.501103.patch
Type: text/x-patch
Size: 273287 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230228/3398afda/attachment-0001.bin>


More information about the llvm-commits mailing list