[all-commits] [llvm/llvm-project] 02f74e: [IVDescriptors] Make pointer inductions compatible...

Nikita Popov via All-commits all-commits at lists.llvm.org
Wed Sep 1 12:02:20 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 02f74eadbe2f56db4807dbc785a99e941a98300a
      https://github.com/llvm/llvm-project/commit/02f74eadbe2f56db4807dbc785a99e941a98300a
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-09-01 (Wed, 01 Sep 2021)

  Changed paths:
    M llvm/include/llvm/Analysis/IVDescriptors.h
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/opaque-ptr.ll

  Log Message:
  -----------
  [IVDescriptors] Make pointer inductions compatible with opaque pointers

Store the used element type in the InductionDescriptor. For typed
pointers, it remains the pointer element type. For opaque pointers,
we always use an i8 element type, such that the step is a simple
offset.

A previous version of this patch instead tried to guess the element
type from an induction GEP, but this is not reliable, as the GEP
may be hidden (see @both in iv_outside_user.ll).

Differential Revision: https://reviews.llvm.org/D104795




More information about the All-commits mailing list