[all-commits] [llvm/llvm-project] d73296: [VPlan] Allow sinking of instructions with no defs

ebrevnov via All-commits all-commits at lists.llvm.org
Tue Jul 4 02:53:26 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d7329653d0f97c9087053e91002fa1793e910f92
  Author: Evgeniy Brevnov <ybrevnov at azul.com>
  Date:   2023-07-04 (Tue, 04 Jul 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll

  Log Message:
  [VPlan] Allow sinking of instructions with no defs

We started seeing new failure after D142886. Looks like it enabled new cases and we hit an assert:
assert(Current->getNumDefinedValues() == 1 &&
           "only recipes with a single defined value expected");

 When we do instruction sinking for the first order recurrence we hit an assert if instruction doesn't have single def. In case instruction doesn't produce any new def there is no new users and nothing to sink.

Reviewed By: fhahn

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

More information about the All-commits mailing list