OSDN Git Service

[RewriteStatepointsForGC] Strengthen a confusingly weak assertion [NFC]
authorPhilip Reames <listmail@philipreames.com>
Thu, 10 Sep 2015 00:32:56 +0000 (00:32 +0000)
committerPhilip Reames <listmail@philipreames.com>
Thu, 10 Sep 2015 00:32:56 +0000 (00:32 +0000)
The assertion was weaker than it should be and gave the impression we're growing the number of base defining values being considered during the fixed point interation.  That's not true.  The tighter form of the assert is useful documentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247221 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/RewriteStatepointsForGC.cpp

index 22baedd..57687de 100644 (file)
@@ -797,7 +797,7 @@ static Value *findBasePointer(Value *I, DefiningValueMapTy &cache) {
   bool progress = true;
   while (progress) {
 #ifndef NDEBUG
-    size_t oldSize = States.size();
+    const size_t oldSize = States.size();
 #endif
     progress = false;
     // We're only changing values in this loop, thus safe to keep iterators.
@@ -842,8 +842,8 @@ static Value *findBasePointer(Value *I, DefiningValueMapTy &cache) {
       }
     }
 
-    assert(oldSize <= States.size());
-    assert(oldSize == States.size() || progress);
+    assert(oldSize == States.size() &&
+           "fixed point shouldn't be adding any new nodes to state");
   }
 
 #ifndef NDEBUG