[all-commits] [llvm/llvm-project] e4b964: [SLP]Improve bottom-to-top reordering.

Andrew V. Tischenko via All-commits all-commits at lists.llvm.org
Mon Feb 28 06:52:22 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e4b9640867150723b33f81c6479682fc955b55aa
      https://github.com/llvm/llvm-project/commit/e4b9640867150723b33f81c6479682fc955b55aa
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2022-02-28 (Mon, 28 Feb 2022)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reordered-top-scalars.ll

  Log Message:
  -----------
  [SLP]Improve bottom-to-top reordering.

Currently bottom-to-top reordering analysis counts orders of the
operands and then adds natural order counts for the operand users. It is
very conservative, this the user nodes themselves may require
reordering. Patch improves bottom-to-top analysis by checking for the
user nodes if they require/allows the reordring. If the user node must
be reordered, has reused scalars, is an alternate op vectorization node,
is a non-ordered gather node or may allow reordering because of the
reordered operands, such node is considered as the node that allows
reodring and is not counted as a node with the natural order.

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




More information about the All-commits mailing list