[all-commits] [llvm/llvm-project] aa00b1: [LV] Try to sink users recursively for first-order...

Florian Hahn via All-commits all-commits at lists.llvm.org
Mon May 31 11:56:25 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: aa00b1d76364fc558fa6f28e31bb33938e1ae6af
      https://github.com/llvm/llvm-project/commit/aa00b1d76364fc558fa6f28e31bb33938e1ae6af
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2021-05-31 (Mon, 31 May 2021)

  Changed paths:
    M llvm/include/llvm/Analysis/IVDescriptors.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll

  Log Message:
  -----------
  [LV] Try to sink users recursively for first-order recurrences.

Update isFirstOrderRecurrence to  explore all uses of a recurrence phi
and check if we can sink them. If there are multiple users to sink, they
are all mapped to the previous instruction.

Fixes PR44286 (and another PR or two).

Reviewed By: Ayal

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




More information about the All-commits mailing list