llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-mlir-core Author: Kazu Hirata (kazutakahirata) <details> <summary>Changes</summary> C++20 comes with std::erase to erase a value from std::vector. This patch renames llvm::erase_value to llvm::erase for consistency with C++20. We could make llvm::erase more similar to std::erase by having it return the number of elements removed, but I'm not doing that for now because nobody seems to care about that in our code base. Since there are only 50 occurrences of erase_value in our code base, this patch replaces all of them with llvm::erase and deprecates llvm::erase_value. --- Patch is 28.05 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/70156.diff 42 Files Affected: - (modified) bolt/lib/Passes/HFSortPlus.cpp (+1-1) - (modified) bolt/lib/Passes/IndirectCallPromotion.cpp (+1-1) - (modified) clang-tools-extra/clangd/FindTarget.cpp (+1-1) - (modified) clang-tools-extra/clangd/SystemIncludeExtractor.cpp (+1-1) - (modified) clang/include/clang/Analysis/Analyses/Dominators.h (+1-1) - (modified) clang/include/clang/Basic/JsonSupport.h (+1-1) - (modified) clang/include/clang/Sema/ScopeInfo.h (+1-1) - (modified) clang/lib/AST/ASTContext.cpp (+1-1) - (modified) clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp (+1-1) - (modified) clang/lib/Sema/SemaExpr.cpp (+1-1) - (modified) llvm/include/llvm/ADT/STLExtras.h (+7-1) - (modified) llvm/include/llvm/Analysis/IntervalIterator.h (+1-1) - (modified) llvm/include/llvm/Support/CFGDiff.h (+2-2) - (modified) llvm/include/llvm/Support/GenericDomTreeConstruction.h (+1-1) - (modified) llvm/include/llvm/TableGen/DirectiveEmitter.h (+1-1) - (modified) llvm/lib/Analysis/AssumptionCache.cpp (+1-1) - (modified) llvm/lib/Analysis/LoopPass.cpp (+1-1) - (modified) llvm/lib/Analysis/ScalarEvolution.cpp (+2-2) - (modified) llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (+1-1) - (modified) llvm/lib/CodeGen/LiveIntervals.cpp (+1-1) - (modified) llvm/lib/CodeGen/MachineBlockPlacement.cpp (+1-1) - (modified) llvm/lib/CodeGen/MachinePipeliner.cpp (+1-1) - (modified) llvm/lib/CodeGen/MachineRegisterInfo.cpp (+1-1) - (modified) llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (+1-1) - (modified) llvm/lib/CodeGen/TwoAddressInstructionPass.cpp (+1-1) - (modified) llvm/lib/CodeGen/WinEHPrepare.cpp (+2-2) - (modified) llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp (+1-1) - (modified) llvm/lib/TableGen/TGParser.cpp (+1-1) - (modified) llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp (+1-1) - (modified) llvm/lib/Transforms/Utils/CodeLayout.cpp (+1-1) - (modified) llvm/lib/Transforms/Utils/LoopUnroll.cpp (+1-1) - (modified) llvm/lib/Transforms/Utils/SimplifyCFG.cpp (+1-1) - (modified) llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (+2-2) - (modified) llvm/lib/Transforms/Vectorize/VPlanValue.h (+1-1) - (modified) llvm/tools/llvm-dwarfdump/Statistics.cpp (+3-3) - (modified) llvm/tools/llvm-yaml-numeric-parser-fuzzer/yaml-numeric-parser-fuzzer.cpp (+1-1) - (modified) llvm/tools/llvm-yaml-parser-fuzzer/yaml-parser-fuzzer.cpp (+1-1) - (modified) mlir/lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp (+1-1) - (modified) mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp (+2-2) - (modified) mlir/lib/Reducer/ReductionNode.cpp (+1-1) - (modified) mlir/lib/TableGen/Dialect.cpp (+1-1) - (modified) polly/lib/Analysis/ScopInfo.cpp (+3-3) ``````````diff diff --git a/bolt/lib/Passes/HFSortPlus.cpp b/bolt/lib/Passes/HFSortPlus.cpp index 70b9a4d51e6ee58..0a481b5418dd259 100644 --- a/bolt/lib/Passes/HFSortPlus.cpp +++ b/bolt/lib/Passes/HFSortPlus.cpp @@ -567,7 +567,7 @@ class HFSortPlus { Into->Score = score(Into); // Remove chain From From the list of active chains - llvm::erase_value(HotChains, From); + llvm::erase(HotChains, From); } private: diff --git a/bolt/lib/Passes/IndirectCallPromotion.cpp b/bolt/lib/Passes/IndirectCallPromotion.cpp index ea8019431cf52f9..457997d35323d8b 100644 --- a/bolt/lib/Passes/IndirectCallPromotion.cpp +++ b/bolt/lib/Passes/IndirectCallPromotion.cpp @@ -591,7 +591,7 @@ IndirectCallPromotion::findCallTargetSymbols(std::vector<Callsite> &Targets, NewTargets.push_back(Target); std::vector<uint64_t>({JTIndex}).swap(NewTargets.back().JTIndices); - llvm::erase_value(Target.JTIndices, JTIndex); + llvm::erase(Target.JTIndices, JTIndex); // Keep fixCFG counts sane if more indices use this same target later assert(IndicesPerTarget[Target.To.Sym] > 0 && "wrong map"); diff --git a/clang-tools-extra/clangd/FindTarget.cpp b/clang-tools-extra/clangd/FindTarget.cpp index a766122ad3deee9..839cf6332fe8b07 100644 --- a/clang-tools-extra/clangd/FindTarget.cpp +++ b/clang-tools-extra/clangd/FindTarget.cpp @@ -1131,7 +1131,7 @@ class ExplicitReferenceCollector void reportReference(ReferenceLoc &&Ref, DynTypedNode N) { // Strip null targets that can arise from invalid code. // (This avoids having to check for null everywhere we insert) - llvm::erase_value(Ref.Targets, nullptr); + llvm::erase(Ref.Targets, nullptr); // Our promise is to return only references from the source code. If we lack // location information, skip these nodes. // Normally this should not happen in practice, unless there are bugs in the diff --git a/clang-tools-extra/clangd/SystemIncludeExtractor.cpp b/clang-tools-extra/clangd/SystemIncludeExtractor.cpp index ae7b268154d326c..a86f152c3bf364e 100644 --- a/clang-tools-extra/clangd/SystemIncludeExtractor.cpp +++ b/clang-tools-extra/clangd/SystemIncludeExtractor.cpp @@ -389,7 +389,7 @@ extractSystemIncludesAndTarget(const DriverArgs &InputArgs, auto Path = llvm::StringRef(*BuiltinHeaders).trim(); if (!Path.empty() && llvm::sys::path::is_absolute(Path)) { auto Size = Info->SystemIncludes.size(); - llvm::erase_value(Info->SystemIncludes, Path); + llvm::erase(Info->SystemIncludes, Path); vlog("System includes extractor: builtin headers {0} {1}", Path, (Info->SystemIncludes.size() != Size) ? "excluded" diff --git a/clang/include/clang/Analysis/Analyses/Dominators.h b/clang/include/clang/Analysis/Analyses/Dominators.h index 9ac9cbe7d3ec753..7dd54c5ce262cc5 100644 --- a/clang/include/clang/Analysis/Analyses/Dominators.h +++ b/clang/include/clang/Analysis/Analyses/Dominators.h @@ -202,7 +202,7 @@ struct ChildrenGetterTy<clang::CFGBlock, IsPostDom> { auto Children = children<OrderedNodeTy>(N); ChildrenTy Ret{Children.begin(), Children.end()}; - llvm::erase_value(Ret, nullptr); + llvm::erase(Ret, nullptr); return Ret; } }; diff --git a/clang/include/clang/Basic/JsonSupport.h b/clang/include/clang/Basic/JsonSupport.h index 37f66ab63eb1bbf..bcaa3d364444e36 100644 --- a/clang/include/clang/Basic/JsonSupport.h +++ b/clang/include/clang/Basic/JsonSupport.h @@ -71,7 +71,7 @@ inline std::string JsonFormat(StringRef RawSR, bool AddQuotes) { } // Remove new-lines. - llvm::erase_value(Str, '\n'); + llvm::erase(Str, '\n'); if (!AddQuotes) return Str; diff --git a/clang/include/clang/Sema/ScopeInfo.h b/clang/include/clang/Sema/ScopeInfo.h index 361108fb51ba0e5..02b22af89ff035d 100644 --- a/clang/include/clang/Sema/ScopeInfo.h +++ b/clang/include/clang/Sema/ScopeInfo.h @@ -1027,7 +1027,7 @@ class LambdaScopeInfo final : return NonODRUsedCapturingExprs.count(CapturingVarExpr); } void removePotentialCapture(Expr *E) { - llvm::erase_value(PotentiallyCapturingExprs, E); + llvm::erase(PotentiallyCapturingExprs, E); } void clearPotentialCaptures() { PotentiallyCapturingExprs.clear(); diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index 27a675b83211775..0b6ed82cc5ba0e4 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -1081,7 +1081,7 @@ void ASTContext::deduplicateMergedDefinitonsFor(NamedDecl *ND) { for (Module *&M : Merged) if (!Found.insert(M).second) M = nullptr; - llvm::erase_value(Merged, nullptr); + llvm::erase(Merged, nullptr); } ArrayRef<Module *> diff --git a/clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp b/clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp index 72d807fc36705da..23b062665a687ca 100644 --- a/clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp +++ b/clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp @@ -307,7 +307,7 @@ computeBlockInputState(const CFGBlock &Block, AnalysisContext &AC) { auto &StmtToBlock = AC.CFCtx.getStmtToBlock(); auto StmtBlock = StmtToBlock.find(Block.getTerminatorStmt()); assert(StmtBlock != StmtToBlock.end()); - llvm::erase_value(Preds, StmtBlock->getSecond()); + llvm::erase(Preds, StmtBlock->getSecond()); } } diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index ed0b150d52746b0..895b22805860d98 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -18303,7 +18303,7 @@ void Sema::CheckUnusedVolatileAssignment(Expr *E) { if (auto *BO = dyn_cast<BinaryOperator>(E->IgnoreParenImpCasts())) { if (BO->getOpcode() == BO_Assign) { auto &LHSs = ExprEvalContexts.back().VolatileAssignmentLHSs; - llvm::erase_value(LHSs, BO->getLHS()); + llvm::erase(LHSs, BO->getLHS()); } } } diff --git a/llvm/include/llvm/ADT/STLExtras.h b/llvm/include/llvm/ADT/STLExtras.h index 1923072960c7008..18bc4d108b156bf 100644 --- a/llvm/include/llvm/ADT/STLExtras.h +++ b/llvm/include/llvm/ADT/STLExtras.h @@ -2025,10 +2025,16 @@ void erase_if(Container &C, UnaryPredicate P) { /// /// C.erase(remove(C.begin(), C.end(), V), C.end()); template <typename Container, typename ValueType> -void erase_value(Container &C, ValueType V) { +void erase(Container &C, ValueType V) { C.erase(std::remove(C.begin(), C.end(), V), C.end()); } +template <typename Container, typename ValueType> +LLVM_DEPRECATED("Use erase instead", "erase") +void erase_value(Container &C, ValueType V) { + erase(C, V); +} + /// Wrapper function to append range `R` to container `C`. /// /// C.insert(C.end(), R.begin(), R.end()); diff --git a/llvm/include/llvm/Analysis/IntervalIterator.h b/llvm/include/llvm/Analysis/IntervalIterator.h index cbb7cac1c508c57..30e91f1734b655e 100644 --- a/llvm/include/llvm/Analysis/IntervalIterator.h +++ b/llvm/include/llvm/Analysis/IntervalIterator.h @@ -226,7 +226,7 @@ class IntervalIterator { if (Int->isSuccessor(NodeHeader)) { // If we were in the successor list from before... remove from succ list - llvm::erase_value(Int->Successors, NodeHeader); + llvm::erase(Int->Successors, NodeHeader); } // Now that we have discovered that Node is in the interval, perhaps some diff --git a/llvm/include/llvm/Support/CFGDiff.h b/llvm/include/llvm/Support/CFGDiff.h index c90b9aca78b514b..11bb9c0fb8f4d1a 100644 --- a/llvm/include/llvm/Support/CFGDiff.h +++ b/llvm/include/llvm/Support/CFGDiff.h @@ -139,7 +139,7 @@ template <typename NodePtr, bool InverseGraph = false> class GraphDiff { VectRet Res = VectRet(detail::reverse_if<!InverseEdge>(R)); // Remove nullptr children for clang. - llvm::erase_value(Res, nullptr); + llvm::erase(Res, nullptr); auto &Children = (InverseEdge != InverseGraph) ? Pred : Succ; auto It = Children.find(N); @@ -148,7 +148,7 @@ template <typename NodePtr, bool InverseGraph = false> class GraphDiff { // Remove children present in the CFG but not in the snapshot. for (auto *Child : It->second.DI[0]) - llvm::erase_value(Res, Child); + llvm::erase(Res, Child); // Add children present in the snapshot for not in the real CFG. auto &AddedChildren = It->second.DI[1]; diff --git a/llvm/include/llvm/Support/GenericDomTreeConstruction.h b/llvm/include/llvm/Support/GenericDomTreeConstruction.h index 2e7716cb0b4b88d..568350e582aefca 100644 --- a/llvm/include/llvm/Support/GenericDomTreeConstruction.h +++ b/llvm/include/llvm/Support/GenericDomTreeConstruction.h @@ -120,7 +120,7 @@ struct SemiNCAInfo { SmallVector<NodePtr, 8> Res(detail::reverse_if<!Inversed>(R)); // Remove nullptr children for clang. - llvm::erase_value(Res, nullptr); + llvm::erase(Res, nullptr); return Res; } diff --git a/llvm/include/llvm/TableGen/DirectiveEmitter.h b/llvm/include/llvm/TableGen/DirectiveEmitter.h index 4bca4b13d729ab6..c86018715a48a12 100644 --- a/llvm/include/llvm/TableGen/DirectiveEmitter.h +++ b/llvm/include/llvm/TableGen/DirectiveEmitter.h @@ -157,7 +157,7 @@ class Clause : public BaseRecord { } return C; }); - llvm::erase_value(N, '_'); + llvm::erase(N, '_'); return N; } diff --git a/llvm/lib/Analysis/AssumptionCache.cpp b/llvm/lib/Analysis/AssumptionCache.cpp index b0df934501114d2..bbcf25edf315b55 100644 --- a/llvm/lib/Analysis/AssumptionCache.cpp +++ b/llvm/lib/Analysis/AssumptionCache.cpp @@ -188,7 +188,7 @@ void AssumptionCache::unregisterAssumption(AssumeInst *CI) { AffectedValues.erase(AVI); } - erase_value(AssumeHandles, CI); + llvm::erase(AssumeHandles, CI); } void AssumptionCache::AffectedValueCallbackVH::deleted() { diff --git a/llvm/lib/Analysis/LoopPass.cpp b/llvm/lib/Analysis/LoopPass.cpp index 294dfd9d41c1707..61d3a270d6538f1 100644 --- a/llvm/lib/Analysis/LoopPass.cpp +++ b/llvm/lib/Analysis/LoopPass.cpp @@ -114,7 +114,7 @@ void LPPassManager::markLoopAsDeleted(Loop &L) { // there. However, we have to be careful to not remove the back of the queue // as that is assumed to match the current loop. assert(LQ.back() == CurrentLoop && "Loop queue back isn't the current loop!"); - llvm::erase_value(LQ, &L); + llvm::erase(LQ, &L); if (&L == CurrentLoop) { CurrentLoopDeleted = true; diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp index 4850a6aa5625d42..2368003177e741c 100644 --- a/llvm/lib/Analysis/ScalarEvolution.cpp +++ b/llvm/lib/Analysis/ScalarEvolution.cpp @@ -13821,7 +13821,7 @@ void ScalarEvolution::forgetMemoizedResultsImpl(const SCEV *S) { if (ScopeIt != ValuesAtScopes.end()) { for (const auto &Pair : ScopeIt->second) if (!isa_and_nonnull<SCEVConstant>(Pair.second)) - erase_value(ValuesAtScopesUsers[Pair.second], + llvm::erase(ValuesAtScopesUsers[Pair.second], std::make_pair(Pair.first, S)); ValuesAtScopes.erase(ScopeIt); } @@ -13829,7 +13829,7 @@ void ScalarEvolution::forgetMemoizedResultsImpl(const SCEV *S) { auto ScopeUserIt = ValuesAtScopesUsers.find(S); if (ScopeUserIt != ValuesAtScopesUsers.end()) { for (const auto &Pair : ScopeUserIt->second) - erase_value(ValuesAtScopes[Pair.second], std::make_pair(Pair.first, S)); + llvm::erase(ValuesAtScopes[Pair.second], std::make_pair(Pair.first, S)); ValuesAtScopesUsers.erase(ScopeUserIt); } diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index ee2ab71ad28e47f..887044b871e4460 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -583,7 +583,7 @@ static const DIExpression *combineDIExpressions(const DIExpression *Original, std::vector<uint64_t> Elts = Addition->getElements().vec(); // Avoid multiple DW_OP_stack_values. if (Original->isImplicit() && Addition->isImplicit()) - erase_value(Elts, dwarf::DW_OP_stack_value); + llvm::erase(Elts, dwarf::DW_OP_stack_value); const DIExpression *CombinedExpr = (Elts.size() > 0) ? DIExpression::append(Original, Elts) : Original; return CombinedExpr; diff --git a/llvm/lib/CodeGen/LiveIntervals.cpp b/llvm/lib/CodeGen/LiveIntervals.cpp index da55e7f7284b364..1480b7f548721af 100644 --- a/llvm/lib/CodeGen/LiveIntervals.cpp +++ b/llvm/lib/CodeGen/LiveIntervals.cpp @@ -1676,7 +1676,7 @@ LiveIntervals::repairIntervalsInRange(MachineBasicBlock *MBB, if (!hasInterval(Reg)) { createAndComputeVirtRegInterval(Reg); // Don't bother to repair a freshly calculated live interval. - erase_value(RegsToRepair, Reg); + llvm::erase(RegsToRepair, Reg); } } } diff --git a/llvm/lib/CodeGen/MachineBlockPlacement.cpp b/llvm/lib/CodeGen/MachineBlockPlacement.cpp index d0d3574b30bfd88..f783eeca047433a 100644 --- a/llvm/lib/CodeGen/MachineBlockPlacement.cpp +++ b/llvm/lib/CodeGen/MachineBlockPlacement.cpp @@ -3091,7 +3091,7 @@ bool MachineBlockPlacement::maybeTailDuplicateBlock( SmallVectorImpl<MachineBasicBlock *> &RemoveList = BlockWorkList; if (RemBB->isEHPad()) RemoveList = EHPadWorkList; - llvm::erase_value(RemoveList, RemBB); + llvm::erase(RemoveList, RemBB); } // Handle the filter set diff --git a/llvm/lib/CodeGen/MachinePipeliner.cpp b/llvm/lib/CodeGen/MachinePipeliner.cpp index 788ff5b3b5acdfc..81b7fdcc5961d68 100644 --- a/llvm/lib/CodeGen/MachinePipeliner.cpp +++ b/llvm/lib/CodeGen/MachinePipeliner.cpp @@ -2706,7 +2706,7 @@ bool SMSchedule::normalizeNonPipelinedInstructions( if (OldCycle != NewCycle) { InstrToCycle[&SU] = NewCycle; auto &OldS = getInstructions(OldCycle); - llvm::erase_value(OldS, &SU); + llvm::erase(OldS, &SU); getInstructions(NewCycle).emplace_back(&SU); LLVM_DEBUG(dbgs() << "SU(" << SU.NodeNum << ") is not pipelined; moving from cycle " << OldCycle diff --git a/llvm/lib/CodeGen/MachineRegisterInfo.cpp b/llvm/lib/CodeGen/MachineRegisterInfo.cpp index 7bd8a67ee06c82c..087604af6a71846 100644 --- a/llvm/lib/CodeGen/MachineRegisterInfo.cpp +++ b/llvm/lib/CodeGen/MachineRegisterInfo.cpp @@ -619,7 +619,7 @@ void MachineRegisterInfo::disableCalleeSavedRegister(MCRegister Reg) { // Remove the register (and its aliases from the list). for (MCRegAliasIterator AI(Reg, TRI, true); AI.isValid(); ++AI) - llvm::erase_value(UpdatedCSRs, *AI); + llvm::erase(UpdatedCSRs, *AI); } const MCPhysReg *MachineRegisterInfo::getCalleeSavedRegs() const { diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index 70e78afd9b520a8..5be9ff0300b0485 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -3692,7 +3692,7 @@ void SelectionDAGISel::SelectCodeCommon(SDNode *NodeToMatch, auto &Chain = ChainNodesMatched; assert((!E || !is_contained(Chain, N)) && "Chain node replaced during MorphNode"); - llvm::erase_value(Chain, N); + llvm::erase(Chain, N); }); Res = cast<MachineSDNode>(MorphNode(NodeToMatch, TargetOpc, VTList, Ops, EmitNodeInfo)); diff --git a/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp b/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp index d3f58ae310d78ae..bf689dbd308f7f0 100644 --- a/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp +++ b/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp @@ -1131,7 +1131,7 @@ bool TwoAddressInstructionPass::rescheduleKillAboveMI( if (MOReg.isPhysical() && regOverlapsSet(LiveDefs, MOReg)) return false; // Physical register def is seen. - llvm::erase_value(Defs, MOReg); + llvm::erase(Defs, MOReg); } } diff --git a/llvm/lib/CodeGen/WinEHPrepare.cpp b/llvm/lib/CodeGen/WinEHPrepare.cpp index 11597b11989364a..13791d1a78cff29 100644 --- a/llvm/lib/CodeGen/WinEHPrepare.cpp +++ b/llvm/lib/CodeGen/WinEHPrepare.cpp @@ -934,9 +934,9 @@ void WinEHPrepare::cloneCommonBlocks(Function &F) { << "\' to block \'" << NewBlock->getName() << "\'.\n"); - llvm::erase_value(BlocksInFunclet, OldBlock); + llvm::erase(BlocksInFunclet, OldBlock); ColorVector &OldColors = BlockColors[OldBlock]; - llvm::erase_value(OldColors, FuncletPadBB); + llvm::erase(OldColors, FuncletPadBB); DEBUG_WITH_TYPE("winehprepare-coloring", dbgs() << " Removed color \'" << FuncletPadBB->getName() diff --git a/llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp b/llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp index e2b0d4db3a26a3b..8bbaf93db0caa7b 100644 --- a/llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp +++ b/llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp @@ -304,7 +304,7 @@ void LVScope::addMissingElements(LVScope *Reference) { if (getSymbols()) for (const LVSymbol *Symbol : *getSymbols()) if (Symbol->getHasReferenceAbstract()) - llvm::erase_value(References, Symbol->getReference()); + llvm::erase(References, Symbol->getReference()); // If we have elements left in 'References', those are the elements that // need to be inserted in the current scope. diff --git a/llvm/lib/TableGen/TGParser.cpp b/llvm/lib/TableGen/TGParser.cpp index 21d6ca0e7b8d302..f4a62e6840f9233 100644 --- a/llvm/lib/TableGen/TGParser.cpp +++ b/llvm/lib/TableGen/TGParser.cpp @@ -610,7 +610,7 @@ bool TGParser::resolveArguments(Record *Rec, ArrayRef<ArgumentInit *> ArgValues, ArgName->getAsUnquotedString() + "' once"); ArgValueHandler(ArgName, ArgValue); - llvm::erase_value(UnsolvedArgNames, ArgName); + llvm::erase(UnsolvedArgNames, ArgName); } // For unsolved arguments, if there is no default value, complain. diff --git a/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp index 2f237d051dbfbcb..dbc18458530a72b 100644 --- a/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp +++ b/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp @@ -1553,7 +1553,7 @@ bool DataFlowSanitizer::runImpl( assert(isa<Function>(C) && "Personality routine is not a function!"); Function *F = cast<Function>(C); if (!isInstrumented(F)) - llvm::erase_value(FnsToInstrument, F); + llvm::erase(FnsToInstrument, F); } } diff --git a/llvm/lib/Transforms/Utils/CodeLayout.cpp b/llvm/lib/Transforms/Utils/CodeLayout.cpp index a6c9d2ac6cf2ffb..4801a55e3f11f78 100644 --- a/llvm/lib/Transforms/Utils/CodeLayout.cpp +++ b/llvm/lib/Transforms/Utils/CodeLayout.cpp @@ -937,7 +937,7 @@ class ExtTSPImpl { } // Remove the chain from the list of active chains. - llvm::erase_value(HotChains, From); + llvm::erase(HotChains, From); // Invalidate caches. for (auto EdgeIt : Into->Edges) diff --git a/llvm/lib/Transforms/Utils/LoopUnroll.cpp b/llvm/lib/Transforms/Utils/LoopUnroll.cpp index d3521e9893a6422..ee6f7b35750af0f 100644 --- a/llvm/lib/Transforms/Utils/LoopUnroll.cpp +++ b/llvm/lib/Transforms/Utils/LoopUnroll.cpp @@ -837,7 +837,7 @@ LoopUnrollResult llvm::UnrollLoop(Loop *L, UnrollLoopOptions ULO, LoopInfo *LI, DTUToUse ? nullptr : DT)) { // Dest has been folded into Fold. Update our worklists accordingly. std::replace(Latches.begin(), Latches.end(), Dest, Fold); - llvm::erase_value(UnrolledLoopBlocks, Dest); + llvm::erase(UnrolledLoopBlocks, Dest); } } } diff --git a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp index 35fead111aa9666..68b5b1a78a3460e 100644 --- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp @@ -822,7 +822,7 @@ BasicBlock *SimplifyCFGOpt::GetValueEqualityComparisonCases( static void EliminateBlockCases(BasicBlock *BB, std::vector<ValueEqualityComparisonCase> &Cases) { - llvm::erase_value(Cases, BB); + llvm::erase(Cases, BB); } /// Return true if there are any keys in C1 that exist in C2 as well. diff --git a/llvm/lib/Transfo... [truncated] `````````` </details> https://github.com/llvm/llvm-project/pull/70156 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits