[all-commits] [llvm/llvm-project] 28767a: [LAA] Support backward dependences with non-consta...
Florian Hahn via All-commits
all-commits at lists.llvm.org
Fri May 10 03:47:36 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 28767afd53353d9333b0adf6f0fafa1592092532
https://github.com/llvm/llvm-project/commit/28767afd53353d9333b0adf6f0fafa1592092532
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/test/Analysis/LoopAccessAnalysis/multiple-strides-rt-memory-checks.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-distance-backward.ll
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
Log Message:
-----------
[LAA] Support backward dependences with non-constant distance. (#91525)
Following up to 933f49248, also update the code reasoning about
backwards dependences to support non-constant distances.
Update the code to use the signed minimum distance instead of a constant
distance
This means e checked the lower bound of the dependence distance and the
distance may be larger at runtime (and safe for vectorization). Whether
to classify it as Unknown or Backwards depends on the vector width and
LAA was updated to take TTI to get the maximum vector register width.
If the minimum dependence distance is larger than the max vector width,
we consider it as backwards-vectorizable. Otherwise we classify them as
Unknown, so we re-try with runtime checks.
PR: https://github.com/llvm/llvm-project/pull/91525
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