[all-commits] [llvm/llvm-project] c9677f: [DA] Handle mismatching loop levels by considering...

Bardia Mahjour via All-commits all-commits at lists.llvm.org
Wed Jun 8 08:16:17 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c9677f6db4b2dfc20d1cee876482b9791f5a2795
      https://github.com/llvm/llvm-project/commit/c9677f6db4b2dfc20d1cee876482b9791f5a2795
  Author: Bardia Mahjour <bmahjour at ca.ibm.com>
  Date:   2022-06-08 (Wed, 08 Jun 2022)

  Changed paths:
    M llvm/lib/Analysis/DependenceAnalysis.cpp
    A llvm/test/Analysis/DependenceAnalysis/MismatchingNestLevels.ll

  Log Message:
  -----------
  [DA] Handle mismatching loop levels by considering them non-linear

To represent various loop levels within a nest, DA implements a special
numbering scheme (see comment atop establishNestingLevels). The goal of
this numbering scheme appears to be representing each unique loop
distinctively by using as little memory as possible. This numbering
scheme is simple when the source and destination of the dependence are
in the same loop. In such cases the level is simply the depth of the
loop in which src and dst reside. When the src and dst are not in the
same loop, we could run into the following situation exposed by
https://reviews.llvm.org/D71539. This patch fixes this by detecting
such cases in checkSubscripts and treating them as non-linear/non-affine.

Reviewed By: Meinersbur

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




More information about the All-commits mailing list