[all-commits] [llvm/llvm-project] 933f49: [LAA] Support different strides & non constant dep...

Florian Hahn via All-commits all-commits at lists.llvm.org
Thu Apr 25 13:38:28 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 933f49248bfede6b22d516baa5cf80bdf85c3c61
      https://github.com/llvm/llvm-project/commit/933f49248bfede6b22d516baa5cf80bdf85c3c61
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/different-strides-safe-dep-due-to-backedge-taken-count.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll

  Log Message:
  -----------
  [LAA] Support different strides & non constant dep distances using SCEV. (#88039)

Extend LoopAccessAnalysis to support different strides and as a
consequence non-constant distances between dependences using SCEV to
reason about the direction of the dependence.

In multiple places, logic to rule out dependences using the stride has
been updated to only be used if StrideA == StrideB, i.e. there's a
common stride.

We now also may bail out at multiple places where we may have to set
FoundNonConstantDistanceDependence. This is done when we need to bail
out and the distance is not constant to preserve original behavior.

Fixes https://github.com/llvm/llvm-project/issues/87336

PR: https://github.com/llvm/llvm-project/pull/88039



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list