Fix: Actually erase remove the elements from AssumeHandles
authorAditya Kumar <hiraditya@msn.com>
Wed, 2 Oct 2019 17:35:06 +0000 (17:35 +0000)
committerAditya Kumar <hiraditya@msn.com>
Wed, 2 Oct 2019 17:35:06 +0000 (17:35 +0000)
Reviewers: sdmitriev, tejohnson

Reviewed by: tejohnson

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68318

llvm-svn: 373494

llvm/lib/Analysis/AssumptionCache.cpp

index 7d6429a..1299447 100644 (file)
@@ -130,7 +130,10 @@ void AssumptionCache::unregisterAssumption(CallInst *CI) {
     if (AVI != AffectedValues.end())
       AffectedValues.erase(AVI);
   }
-  remove_if(AssumeHandles, [CI](WeakTrackingVH &VH) { return CI == VH; });
+
+  AssumeHandles.erase(
+      remove_if(AssumeHandles, [CI](WeakTrackingVH &VH) { return CI == VH; }),
+      AssumeHandles.end());
 }
 
 void AssumptionCache::AffectedValueCallbackVH::deleted() {