summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--polly/lib/Analysis/ScopInfo.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp
index 8ffd6a3c415..81edb824c05 100644
--- a/polly/lib/Analysis/ScopInfo.cpp
+++ b/polly/lib/Analysis/ScopInfo.cpp
@@ -4856,13 +4856,15 @@ void Scop::removeAccessData(MemoryAccess *Access) {
ValueDefAccs.erase(Access->getAccessValue());
} else if (Access->isOriginalValueKind() && Access->isRead()) {
auto &Uses = ValueUseAccs[Access->getScopArrayInfo()];
- std::remove(Uses.begin(), Uses.end(), Access);
+ auto NewEnd = std::remove(Uses.begin(), Uses.end(), Access);
+ Uses.erase(NewEnd, Uses.end());
} else if (Access->isOriginalPHIKind() && Access->isRead()) {
PHINode *PHI = cast<PHINode>(Access->getAccessInstruction());
PHIReadAccs.erase(PHI);
} else if (Access->isOriginalAnyPHIKind() && Access->isWrite()) {
auto &Incomings = PHIIncomingAccs[Access->getScopArrayInfo()];
- std::remove(Incomings.begin(), Incomings.end(), Access);
+ auto NewEnd = std::remove(Incomings.begin(), Incomings.end(), Access);
+ Incomings.erase(NewEnd, Incomings.end());
}
}
OpenPOWER on IntegriCloud