[llvm] r357327 - [MemorySSA] Temporary fix assert when reaching 0 limit.

Alina Sbirlea via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 29 15:55:59 PDT 2019


Author: asbirlea
Date: Fri Mar 29 15:55:59 2019
New Revision: 357327

URL: http://llvm.org/viewvc/llvm-project?rev=357327&view=rev
Log:
[MemorySSA] Temporary fix assert when reaching 0 limit.

Modified:
    llvm/trunk/lib/Analysis/MemorySSA.cpp

Modified: llvm/trunk/lib/Analysis/MemorySSA.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/MemorySSA.cpp?rev=357327&r1=357326&r2=357327&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/MemorySSA.cpp (original)
+++ llvm/trunk/lib/Analysis/MemorySSA.cpp Fri Mar 29 15:55:59 2019
@@ -543,8 +543,11 @@ template <class AliasAnalysisType> class
   walkToPhiOrClobber(DefPath &Desc, const MemoryAccess *StopAt = nullptr,
                      const MemoryAccess *SkipStopAt = nullptr) const {
     assert(!isa<MemoryUse>(Desc.Last) && "Uses don't exist in my world");
-    assert(UpwardWalkLimit && *UpwardWalkLimit > 0 &&
-           "Need a positive walk limit");
+    assert(UpwardWalkLimit && "Need a valid walk limit");
+    // This will not do any alias() calls. It returns in the first iteration in
+    // the loop below.
+    if (*UpwardWalkLimit == 0)
+      (*UpwardWalkLimit)++;
 
     for (MemoryAccess *Current : def_chain(Desc.Last)) {
       Desc.Last = Current;




More information about the llvm-commits mailing list