[PATCH] D118538: [SLP] Schedule only sub-graph of vectorizable instructions

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 3 10:02:24 PST 2022


reames updated this revision to Diff 405696.
reames added a comment.

Rebase and remove dependency on NFC changes.  This should be able to land either before or after those.


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

https://reviews.llvm.org/D118538

Files:
  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
  llvm/test/Transforms/SLPVectorizer/AArch64/64-bit-vector.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/gather-reduce.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/memory-runtime-checks.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/sdiv-pow2.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/slp-and-reduction.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/slp-or-reduction.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/slp-xor-reduction.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/spillcost-di.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/tsc-s352.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/widen.ll
  llvm/test/Transforms/SLPVectorizer/AMDGPU/packed-math.ll
  llvm/test/Transforms/SLPVectorizer/NVPTX/v2f16.ll
  llvm/test/Transforms/SLPVectorizer/SystemZ/pr34619.ll
  llvm/test/Transforms/SLPVectorizer/X86/PR32086.ll
  llvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
  llvm/test/Transforms/SLPVectorizer/X86/addsub.ll
  llvm/test/Transforms/SLPVectorizer/X86/align.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-abs.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-add-ssat.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-add-usat.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-add.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-div.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-fix.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-mul.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-smax.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-smin.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssat.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-sub-usat.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-sub.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-umax.ll
  llvm/test/Transforms/SLPVectorizer/X86/arith-umin.ll
  llvm/test/Transforms/SLPVectorizer/X86/bitreverse.ll
  llvm/test/Transforms/SLPVectorizer/X86/broadcast.ll
  llvm/test/Transforms/SLPVectorizer/X86/bswap.ll
  llvm/test/Transforms/SLPVectorizer/X86/combined-stores-chains.ll
  llvm/test/Transforms/SLPVectorizer/X86/consecutive-access.ll
  llvm/test/Transforms/SLPVectorizer/X86/continue_vectorizing.ll
  llvm/test/Transforms/SLPVectorizer/X86/crash_exceed_scheduling.ll
  llvm/test/Transforms/SLPVectorizer/X86/crash_mandeltext.ll
  llvm/test/Transforms/SLPVectorizer/X86/crash_smallpt.ll
  llvm/test/Transforms/SLPVectorizer/X86/cse.ll
  llvm/test/Transforms/SLPVectorizer/X86/ctlz.ll
  llvm/test/Transforms/SLPVectorizer/X86/ctpop.ll
  llvm/test/Transforms/SLPVectorizer/X86/cttz.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/different-vec-widths.ll
  llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
  llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
  llvm/test/Transforms/SLPVectorizer/X86/fabs.ll
  llvm/test/Transforms/SLPVectorizer/X86/fcopysign.ll
  llvm/test/Transforms/SLPVectorizer/X86/fma.ll
  llvm/test/Transforms/SLPVectorizer/X86/fmaxnum.ll
  llvm/test/Transforms/SLPVectorizer/X86/fminnum.ll
  llvm/test/Transforms/SLPVectorizer/X86/fmuladd.ll
  llvm/test/Transforms/SLPVectorizer/X86/fptosi-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/fptosi.ll
  llvm/test/Transforms/SLPVectorizer/X86/fptoui.ll
  llvm/test/Transforms/SLPVectorizer/X86/fround.ll
  llvm/test/Transforms/SLPVectorizer/X86/funclet.ll
  llvm/test/Transforms/SLPVectorizer/X86/gep.ll
  llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
  llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
  llvm/test/Transforms/SLPVectorizer/X86/horizontal.ll
  llvm/test/Transforms/SLPVectorizer/X86/insert-after-bundle.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/insertvalue.ll
  llvm/test/Transforms/SLPVectorizer/X86/inst_size_bug.ll
  llvm/test/Transforms/SLPVectorizer/X86/intrinsic_with_scalar_param.ll
  llvm/test/Transforms/SLPVectorizer/X86/jumbled-load-shuffle-placement.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/metadata.ll
  llvm/test/Transforms/SLPVectorizer/X86/multi_block.ll
  llvm/test/Transforms/SLPVectorizer/X86/phi_overalignedtype.ll
  llvm/test/Transforms/SLPVectorizer/X86/powof2div.ll
  llvm/test/Transforms/SLPVectorizer/X86/powof2mul.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
  llvm/test/Transforms/SLPVectorizer/X86/remark_horcost.ll
  llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
  llvm/test/Transforms/SLPVectorizer/X86/resched.ll
  llvm/test/Transforms/SLPVectorizer/X86/return.ll
  llvm/test/Transforms/SLPVectorizer/X86/reuse-extracts-in-wider-vect.ll
  llvm/test/Transforms/SLPVectorizer/X86/schedule_budget.ll
  llvm/test/Transforms/SLPVectorizer/X86/scheduling.ll
  llvm/test/Transforms/SLPVectorizer/X86/shift-ashr.ll
  llvm/test/Transforms/SLPVectorizer/X86/shift-lshr.ll
  llvm/test/Transforms/SLPVectorizer/X86/shift-shl.ll
  llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder.ll
  llvm/test/Transforms/SLPVectorizer/X86/simple-loop.ll
  llvm/test/Transforms/SLPVectorizer/X86/simplebb.ll
  llvm/test/Transforms/SLPVectorizer/X86/sitofp-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
  llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
  llvm/test/Transforms/SLPVectorizer/X86/sqrt.ll
  llvm/test/Transforms/SLPVectorizer/X86/store-jumbled.ll
  llvm/test/Transforms/SLPVectorizer/X86/stores-non-ordered.ll
  llvm/test/Transforms/SLPVectorizer/X86/stores_vectorize.ll
  llvm/test/Transforms/SLPVectorizer/X86/tiny-tree.ll
  llvm/test/Transforms/SLPVectorizer/X86/uitofp.ll
  llvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-alt-shuffle.ll
  llvm/test/Transforms/SLPVectorizer/X86/vectorize-reordered-list.ll
  llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
  llvm/test/Transforms/SLPVectorizer/int_sideeffect.ll



More information about the llvm-commits mailing list