[PATCH] D69067: [LV] Reduce ingredient DU usage by ILV (NFC)

Gil Rapaport via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 16 12:59:55 PDT 2019


gilr created this revision.
gilr added reviewers: rengolin, hsaito, dcaballe, fhahn, Ayal, dorit.
Herald added subscribers: llvm-commits, rogfer01, rkruppe, bollu, hiraditya.
Herald added a project: LLVM.

InnerLoopVectorizer's code called during VPlan execution still relies on
original IR's Def-Use relations to decide which vector code to generate,
limiting VPlan transformations ability to modify Def-Use relations and still
have ILV generate the vector code.
This commit moves two such vectorization decisions to the relevant Recipes as
a step towards full VPlan-based Def-Use relations:

- Inspecting the pointer during memory-instruction vectorization is moved to VPWidenMemoryInstructionRecipe.
- GEP operand queries controlling how GEPs are widened are moved to the new VPWidenGEPRecipe; GEP widening code is extracted to its own ILV method taking those recorded decisions as arguments.


Repository:
  rL LLVM

https://reviews.llvm.org/D69067

Files:
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/lib/Transforms/Vectorize/VPlan.cpp
  llvm/lib/Transforms/Vectorize/VPlan.h
  llvm/lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp
  llvm/lib/Transforms/Vectorize/VPlanHCFGTransforms.h
  llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D69067.225293.patch
Type: text/x-patch
Size: 18145 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191016/f073e273/attachment.bin>


More information about the llvm-commits mailing list