[all-commits] [llvm/llvm-project] 39ccc0: [LV] Record GEP widening decisions in recipe (NFCI)

Gil Rapaport via All-commits all-commits at lists.llvm.org
Fri Dec 6 03:46:26 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 39ccc099c901ca511f0c43f163adef6699038326
      https://github.com/llvm/llvm-project/commit/39ccc099c901ca511f0c43f163adef6699038326
  Author: Gil Rapaport <gil.rapaport at intel.com>
  Date:   2019-12-06 (Fri, 06 Dec 2019)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGTransforms.h
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp

  Log Message:
  -----------
  [LV] Record GEP widening decisions in recipe (NFCI)

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 GEP operand queries controlling how GEPs are widened to a
dedicated recipe and extracts GEP widening code to its own ILV method taking
those recorded decisions as arguments. This reduces ingredient def-use usage by
ILV as a step towards full VPlan-based def-use relations.

Differential revision: https://reviews.llvm.org/D69067




More information about the All-commits mailing list