[all-commits] [llvm/llvm-project] 72fb5b: [LV] Don't sink into replication regions

David Green via All-commits all-commits at lists.llvm.org
Fri Jan 8 01:54:30 PST 2021


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 72fb5ba079019c2108d676526b5285b228795e48
      https://github.com/llvm/llvm-project/commit/72fb5ba079019c2108d676526b5285b228795e48
  Author: David Green <david.green at arm.com>
  Date:   2021-01-08 (Fri, 08 Jan 2021)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [LV] Don't sink into replication regions

The new test case here contains a first order recurrences and an
instruction that is replicated. The first order recurrence forces an
instruction to be sunk _into_, as opposed to after the replication
region. That causes several things to go wrong including registering
vector instructions multiple times and failing to create dominance
relations correctly.

Instead we should be sinking to after the replication region, which is
what this patch makes sure happens.

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




More information about the All-commits mailing list