[PATCH] D105986: [SLP]Improve vectorization of gathered loads.

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 30 11:29:00 PST 2021


ABataev updated this revision to Diff 396697.
ABataev added a comment.
Herald added subscribers: kerbowa, mgrang, nhaehnle, jvesely, qcolombet.

Rebase


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D105986/new/

https://reviews.llvm.org/D105986

Files:
  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
  llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
  llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/loadi8.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/matmul.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/remarks.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/spillcost-order.ll
  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/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/packed-math.ll
  llvm/test/Transforms/SLPVectorizer/SystemZ/pr34619.ll
  llvm/test/Transforms/SLPVectorizer/X86/PR32086.ll
  llvm/test/Transforms/SLPVectorizer/X86/PR35628_2.ll
  llvm/test/Transforms/SLPVectorizer/X86/PR35777.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/addsub.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/broadcast.ll
  llvm/test/Transforms/SLPVectorizer/X86/broadcast_long.ll
  llvm/test/Transforms/SLPVectorizer/X86/cmp_commute-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/cmp_commute.ll
  llvm/test/Transforms/SLPVectorizer/X86/commutativity.ll
  llvm/test/Transforms/SLPVectorizer/X86/crash_cmpop.ll
  llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll
  llvm/test/Transforms/SLPVectorizer/X86/crash_exceed_scheduling.ll
  llvm/test/Transforms/SLPVectorizer/X86/crash_lencod.ll
  llvm/test/Transforms/SLPVectorizer/X86/crash_smallpt.ll
  llvm/test/Transforms/SLPVectorizer/X86/cse.ll
  llvm/test/Transforms/SLPVectorizer/X86/diamond.ll
  llvm/test/Transforms/SLPVectorizer/X86/diamond_broadcast.ll
  llvm/test/Transforms/SLPVectorizer/X86/diamond_broadcast_extra_shuffle.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/hoist.ll
  llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
  llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.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/insert-shuffle.ll
  llvm/test/Transforms/SLPVectorizer/X86/jumbled-load-multiuse.ll
  llvm/test/Transforms/SLPVectorizer/X86/jumbled-load-used-in-phi.ll
  llvm/test/Transforms/SLPVectorizer/X86/jumbled-load.ll
  llvm/test/Transforms/SLPVectorizer/X86/jumbled_store_crash.ll
  llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
  llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
  llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
  llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
  llvm/test/Transforms/SLPVectorizer/X86/ordering-bug.ll
  llvm/test/Transforms/SLPVectorizer/X86/partail.ll
  llvm/test/Transforms/SLPVectorizer/X86/phi.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr47623.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/reduction2.ll
  llvm/test/Transforms/SLPVectorizer/X86/remark_extract_broadcast.ll
  llvm/test/Transforms/SLPVectorizer/X86/remark_horcost.ll
  llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
  llvm/test/Transforms/SLPVectorizer/X86/reorder_phi.ll
  llvm/test/Transforms/SLPVectorizer/X86/resched.ll
  llvm/test/Transforms/SLPVectorizer/X86/return.ll
  llvm/test/Transforms/SLPVectorizer/X86/reused-undefs.ll
  llvm/test/Transforms/SLPVectorizer/X86/scheduling.ll
  llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder.ll
  llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder2.ll
  llvm/test/Transforms/SLPVectorizer/X86/shuffled-gathers-diff-size.ll
  llvm/test/Transforms/SLPVectorizer/X86/simplebb.ll
  llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
  llvm/test/Transforms/SLPVectorizer/X86/stores-non-ordered.ll
  llvm/test/Transforms/SLPVectorizer/X86/supernode.ll
  llvm/test/Transforms/SLPVectorizer/X86/tiny-tree.ll
  llvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll
  llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
  llvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-alt-shuffle.ll
  llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
  llvm/test/Transforms/SLPVectorizer/slp-max-phi-size.ll
  llvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll



More information about the llvm-commits mailing list