[llvm] 584158f - [LAA] Hoist check for SCEV-uncomputable dist (NFC) (#148841)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 16 07:30:56 PDT 2025
Author: Ramkumar Ramachandra
Date: 2025-07-16T15:30:53+01:00
New Revision: 584158f9aeac7df66ca08649b8c082883c66b360
URL: https://github.com/llvm/llvm-project/commit/584158f9aeac7df66ca08649b8c082883c66b360
DIFF: https://github.com/llvm/llvm-project/commit/584158f9aeac7df66ca08649b8c082883c66b360.diff
LOG: [LAA] Hoist check for SCEV-uncomputable dist (NFC) (#148841)
Hoist the check for SCEVCouldNotCompute distance into
getDependenceDistanceAndSize.
Added:
Modified:
llvm/lib/Analysis/LoopAccessAnalysis.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Analysis/LoopAccessAnalysis.cpp b/llvm/lib/Analysis/LoopAccessAnalysis.cpp
index f8f741575f87a..f3a32d3055edb 100644
--- a/llvm/lib/Analysis/LoopAccessAnalysis.cpp
+++ b/llvm/lib/Analysis/LoopAccessAnalysis.cpp
@@ -2085,6 +2085,12 @@ MemoryDepChecker::getDependenceDistanceStrideAndSize(
if (!isa<SCEVConstant>(Dist))
FoundNonConstantDistanceDependence |= StrideAPtrInt == StrideBPtrInt;
+ // If distance is a SCEVCouldNotCompute, return Unknown immediately.
+ if (isa<SCEVCouldNotCompute>(Dist)) {
+ LLVM_DEBUG(dbgs() << "LAA: Uncomputable distance.\n");
+ return Dependence::Unknown;
+ }
+
return DepDistanceStrideAndSizeInfo(Dist, MaxStride, CommonStride,
TypeByteSize, AIsWrite, BIsWrite);
}
@@ -2122,13 +2128,6 @@ MemoryDepChecker::isDependent(const MemAccessInfo &A, unsigned AIdx,
std::get<DepDistanceStrideAndSizeInfo>(Res);
bool HasSameSize = TypeByteSize > 0;
- if (isa<SCEVCouldNotCompute>(Dist)) {
- if (CheckCompletelyBeforeOrAfter())
- return Dependence::NoDep;
- LLVM_DEBUG(dbgs() << "LAA: Dependence because of uncomputable distance.\n");
- return Dependence::Unknown;
- }
-
ScalarEvolution &SE = *PSE.getSE();
auto &DL = InnermostLoop->getHeader()->getDataLayout();
More information about the llvm-commits
mailing list