I didn't see this so far because it scans backwards, but that doesn't
make it any less quadratic. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230863
91177308-0d34-0410-b5e6-
96231b3b80d8
/// Also remove the value# from value# list.
void LiveRange::removeValNo(VNInfo *ValNo) {
if (empty()) return;
- iterator I = end();
- iterator E = begin();
- do {
- --I;
- if (I->valno == ValNo)
- segments.erase(I);
- } while (I != E);
+ segments.erase(std::remove_if(begin(), end(), [ValNo](const Segment &S) {
+ return S.valno == ValNo;
+ }), end());
// Now that ValNo is dead, remove it.
markValNoForDeletion(ValNo);
}