[PATCH] D71250: [LV] Create new vector loop preheader so it contains vectorizer generated code only.

Evgeniy via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 10 03:53:52 PST 2019


ebrevnov created this revision.
Herald added subscribers: llvm-commits, rkruppe, hiraditya.
Herald added a project: LLVM.

This change is motivated by https://reviews.llvm.org/D71053 where we add suport for evaluating overhead of runtime checks.
Currently we may reuse existing block for vector preheader. Thus we endup with instructions not related to vectorization in vector preheader. With this change we will reuse existing preheader only if it has single instruction (should be a branch) and will generate new preheader in all other cases. That makes it easier to read the IR. What more importantly it enables us to evaluate cost of vector prehader in a more convinient way.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D71250

Files:
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/test/Transforms/LoopVectorize/AArch64/pr36032.ll
  llvm/test/Transforms/LoopVectorize/ARM/sphinx.ll
  llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
  llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
  llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
  llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
  llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
  llvm/test/Transforms/LoopVectorize/X86/optsize.ll
  llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
  llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
  llvm/test/Transforms/LoopVectorize/X86/small-size.ll
  llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
  llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
  llvm/test/Transforms/LoopVectorize/float-induction.ll
  llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
  llvm/test/Transforms/LoopVectorize/induction-step.ll
  llvm/test/Transforms/LoopVectorize/induction.ll
  llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
  llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
  llvm/test/Transforms/LoopVectorize/pr30806.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71250.233039.patch
Type: text/x-patch
Size: 50566 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191210/4311086a/attachment.bin>


More information about the llvm-commits mailing list