[all-commits] [llvm/llvm-project] 6ed9ce: [LV] Scalar with predication must not be uniform

azaks via All-commits all-commits at lists.llvm.org
Tue Dec 3 09:56:18 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 6ed9cef25f915d4533f261c401cee29d8d8012d5
      https://github.com/llvm/llvm-project/commit/6ed9cef25f915d4533f261c401cee29d8d8012d5
  Author: Ayal Zaks <ayal.zaks at intel.com>
  Date:   2019-12-03 (Tue, 03 Dec 2019)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll

  Log Message:
  -----------
  [LV] Scalar with predication must not be uniform

Fix PR40816: avoid considering scalar-with-predication instructions as also
uniform-after-vectorization.

Instructions identified as "scalar with predication" will be "vectorized" using
a replicating region. If such instructions are also optimized as "uniform after
vectorization", namely when only the first of VF lanes is used, such a
replicating region becomes erroneous - only the first instance of the region can
and should be formed. Fix such cases by not considering such instructions as
"uniform after vectorization".

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




More information about the All-commits mailing list