diff options
Diffstat (limited to 'llvm/lib/Analysis/LoopAccessAnalysis.cpp')
-rw-r--r-- | llvm/lib/Analysis/LoopAccessAnalysis.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/LoopAccessAnalysis.cpp b/llvm/lib/Analysis/LoopAccessAnalysis.cpp index d6ad855..512ae415 100644 --- a/llvm/lib/Analysis/LoopAccessAnalysis.cpp +++ b/llvm/lib/Analysis/LoopAccessAnalysis.cpp @@ -2122,7 +2122,8 @@ MemoryDepChecker::getDependenceDistanceStrideAndSize( // dependence. TypeSize AStoreSz = DL.getTypeStoreSize(ATy); TypeSize BStoreSz = DL.getTypeStoreSize(BTy); - if (AStoreSz != BStoreSz && !SE.isKnownNonZero(Dist)) { + if (AStoreSz != BStoreSz && SE.isKnownNonPositive(Dist) && + SE.isKnownNonNegative(Dist)) { LLVM_DEBUG(dbgs() << "LAA: possibly zero dependence distance with " "different type sizes\n"); return Dependence::Unknown; |