[all-commits] [llvm/llvm-project] cecc0d: [NewPM] Add an SROA pass after loop unroll

weiguozhi via All-commits all-commits at lists.llvm.org
Fri Nov 1 15:00:52 PDT 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: cecc0d27ad58c0aed8ef9ed99bbf691e137a0f26
      https://github.com/llvm/llvm-project/commit/cecc0d27ad58c0aed8ef9ed99bbf691e137a0f26
  Author: Guozhi Wei <carrot at google.com>
  Date:   2019-11-01 (Fri, 01 Nov 2019)

  Changed paths:
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/Other/new-pm-defaults.ll
    M llvm/test/Other/new-pm-thinlto-defaults.ll
    A llvm/test/Other/unroll-sroa.ll

  Log Message:
  -----------
  [NewPM] Add an SROA pass after loop unroll

If there is a small local array accessed in a loop, SROA can't handle memory
accesses with variant offset inside a loop, after the loop is fully unrolled,
all memory accesses to the array are with fixed offset, so now they can be
processed by SROA. But there is no more SROA passes after loop unroll. This
patch add an SROA pass after loop unroll to handle this pattern.

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




More information about the All-commits mailing list