[all-commits] [llvm/llvm-project] 981e9d: [LV] Don't assume isScalarAfterVectorization if on...

sdesmalen-arm via All-commits all-commits at lists.llvm.org
Mon Jul 26 08:02:36 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 981e9dce548277eaf3f6725bf5ffe84e03f658b1
      https://github.com/llvm/llvm-project/commit/981e9dce548277eaf3f6725bf5ffe84e03f658b1
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/predication_costs.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
    M llvm/test/Transforms/LoopVectorize/pointer-induction.ll

  Log Message:
  -----------
  [LV] Don't assume isScalarAfterVectorization if one of the uses needs widening.

This fixes an issue that was found in D105199, where a GEP instruction
is used both as the address of a store, as well as the value of a store.
For the former, the value is scalar after vectorization, but the latter
(as value) requires widening.

Other code in that function seems to prevent similar cases from happening,
but it seems this case was missed.

Reviewed By: david-arm

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




More information about the All-commits mailing list