[Mlir-commits] [clang] [lld] [llvm] [mlir] [polly] [SetVector] Make SetVector::insert consistent (NFC) (PR #232372)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Thu Oct 15 08:48:30 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-globalisel
Author: Ramkumar Ramachandra (artagnon)
<details>
<summary>Changes</summary>
Return a pair of iterator and bool, instead of a plain bool, like all other ADT structures. This is a nice-to-have that does not degrade compile time, as the iterator is never used.
-- 8< --
>From c-t-t: https://llvm-compile-time-tracker.com/compare.php?from=d3ad7fe9f82ea7aa48755320c03233acd7db7938&to=05b11e98513289ed4fa841a622bda57a1853785e&stat=instructions:u.
---
Patch is 52.96 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/232372.diff
65 Files Affected:
- (modified) clang/include/clang/Sema/Weak.h (+4-2)
- (modified) clang/lib/APINotes/APINotesManager.cpp (+1-1)
- (modified) clang/lib/AST/VTableBuilder.cpp (+3-3)
- (modified) clang/lib/CodeGen/CGCleanup.h (+1-1)
- (modified) clang/lib/CodeGen/CodeGenModule.cpp (+1-1)
- (modified) clang/lib/Sema/SemaLookup.cpp (+1-1)
- (modified) clang/lib/Sema/SemaOverload.cpp (+2-2)
- (modified) clang/lib/Serialization/ASTWriter.cpp (+2-1)
- (modified) lld/ELF/Driver.cpp (+1-1)
- (modified) lld/MachO/SyntheticSections.cpp (+3-3)
- (modified) lld/include/lld/Common/BPSectionOrdererBase.inc (+3-3)
- (modified) llvm/include/llvm/ADT/CachedHashString.h (+3)
- (modified) llvm/include/llvm/ADT/DirectedGraph.h (+1-1)
- (modified) llvm/include/llvm/ADT/GenericUniformityImpl.h (+1-1)
- (modified) llvm/include/llvm/ADT/SetVector.h (+10-7)
- (modified) llvm/include/llvm/CodeGen/MachinePipeliner.h (+1-1)
- (modified) llvm/include/llvm/IR/ModuleSummaryIndex.h (+6)
- (modified) llvm/include/llvm/MC/MCContext.h (+1-1)
- (modified) llvm/include/llvm/Transforms/Utils/InstructionWorklist.h (+1-1)
- (modified) llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp (+1-2)
- (modified) llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp (+2-2)
- (modified) llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp (+1-1)
- (modified) llvm/lib/CodeGen/MachineInstrBundle.cpp (+2-2)
- (modified) llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (+1-1)
- (modified) llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp (+7-7)
- (modified) llvm/lib/IR/ReplaceConstant.cpp (+1-1)
- (modified) llvm/lib/IR/SafepointIRVerifier.cpp (+1-1)
- (modified) llvm/lib/Linker/IRMover.cpp (+1-1)
- (modified) llvm/lib/Target/AArch64/AArch64FrameLowering.cpp (+1-1)
- (modified) llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp (+1-1)
- (modified) llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp (+1-1)
- (modified) llvm/lib/Target/ARM/MVELaneInterleavingPass.cpp (+3-3)
- (modified) llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp (+1-1)
- (modified) llvm/lib/Target/X86/X86LowerAMXType.cpp (+1-1)
- (modified) llvm/lib/Transforms/Coroutines/SpillUtils.cpp (+2-2)
- (modified) llvm/lib/Transforms/IPO/AttributorAttributes.cpp (+7-7)
- (modified) llvm/lib/Transforms/IPO/FunctionImport.cpp (+1-1)
- (modified) llvm/lib/Transforms/IPO/OpenMPOpt.cpp (+4-4)
- (modified) llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp (+1-1)
- (modified) llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp (+2-2)
- (modified) llvm/lib/Transforms/Scalar/LoopDistribute.cpp (+1-1)
- (modified) llvm/lib/Transforms/Utils/CodeExtractor.cpp (+1-1)
- (modified) llvm/lib/Transforms/Utils/InlineFunction.cpp (+1-1)
- (modified) llvm/lib/Transforms/Utils/LCSSA.cpp (+1-1)
- (modified) llvm/lib/Transforms/Vectorize/LoopVectorize.cpp (+1-1)
- (modified) llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (+1-1)
- (modified) llvm/unittests/IR/DebugInfoTest.cpp (+2-2)
- (modified) llvm/utils/TableGen/AsmMatcherEmitter.cpp (+4-3)
- (modified) llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp (+1-1)
- (modified) llvm/utils/TableGen/Common/CodeGenRegisters.cpp (+2-2)
- (modified) mlir/include/mlir/TableGen/Pattern.h (+2)
- (modified) mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp (+2-2)
- (modified) mlir/lib/Analysis/DataFlowFramework.cpp (+2-2)
- (modified) mlir/lib/Bytecode/Writer/IRNumbering.cpp (+1-1)
- (modified) mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp (+2-2)
- (modified) mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp (+1-1)
- (modified) mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp (+1-1)
- (modified) mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp (+1-1)
- (modified) mlir/lib/Tools/PDLL/CodeGen/CPPGen.cpp (+1-1)
- (modified) mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp (+1-1)
- (modified) mlir/tools/mlir-tblgen/OpFormatGen.cpp (+2-2)
- (modified) polly/lib/Analysis/ScopBuilder.cpp (+1-1)
- (modified) polly/lib/Analysis/ScopDetection.cpp (+1-1)
- (modified) polly/lib/Analysis/ScopInfo.cpp (+1-1)
- (modified) polly/lib/CodeGen/BlockGenerators.cpp (+1-1)
``````````diff
diff --git a/clang/include/clang/Sema/Weak.h b/clang/include/clang/Sema/Weak.h
index 60341086abf61a..fb3d034f375332 100644
--- a/clang/include/clang/Sema/Weak.h
+++ b/clang/include/clang/Sema/Weak.h
@@ -31,8 +31,10 @@ class WeakInfo {
: alias(Alias), loc(Loc) {}
inline const IdentifierInfo *getAlias() const { return alias; }
inline SourceLocation getLocation() const { return loc; }
- bool operator==(WeakInfo RHS) const = delete;
- bool operator!=(WeakInfo RHS) const = delete;
+ bool operator==(const WeakInfo &RHS) const {
+ return getAlias() == RHS.getAlias() && getLocation() == RHS.getLocation();
+ }
+ bool operator!=(const WeakInfo &RHS) const { return !(*this == RHS); }
struct DenseMapInfoByAliasOnly
: private llvm::DenseMapInfo<const IdentifierInfo *> {
diff --git a/clang/lib/APINotes/APINotesManager.cpp b/clang/lib/APINotes/APINotesManager.cpp
index 2cc801d5415b84..53013834705ab2 100644
--- a/clang/lib/APINotes/APINotesManager.cpp
+++ b/clang/lib/APINotes/APINotesManager.cpp
@@ -452,7 +452,7 @@ APINotesManager::findAPINotes(SourceLocation Loc) {
}
// We didn't find anything. Look at the parent directory.
- if (!DirsVisited.insert(*Dir)) {
+ if (!DirsVisited.insert(*Dir).second) {
Dir = std::nullopt;
break;
}
diff --git a/clang/lib/AST/VTableBuilder.cpp b/clang/lib/AST/VTableBuilder.cpp
index 3c05d4b22b03e1..e079678ba2d0dd 100644
--- a/clang/lib/AST/VTableBuilder.cpp
+++ b/clang/lib/AST/VTableBuilder.cpp
@@ -1430,7 +1430,7 @@ bool ItaniumVTableBuilder::IsOverriderUsed(
"Primary base should always be at offset 0!");
}
- if (!PrimaryBases.insert(PrimaryBase))
+ if (!PrimaryBases.insert(PrimaryBase).second)
llvm_unreachable("Found a duplicate primary base!");
RD = PrimaryBase;
@@ -1511,7 +1511,7 @@ void ItaniumVTableBuilder::AddMethods(
PrimaryBaseOffsetInLayoutClass, FirstBaseInPrimaryBaseChain,
FirstBaseOffsetInLayoutClass, PrimaryBases);
- if (!PrimaryBases.insert(PrimaryBase))
+ if (!PrimaryBases.insert(PrimaryBase).second)
llvm_unreachable("Found a duplicate primary base!");
}
@@ -3072,7 +3072,7 @@ void VFTableBuilder::AddMethods(BaseSubobject Base, unsigned BaseDepth,
if (NextBase) {
AddMethods(BaseSubobject(NextBase, NextBaseOffset), BaseDepth + 1,
NextLastVBase, VisitedBases);
- if (!VisitedBases.insert(NextBase))
+ if (!VisitedBases.insert(NextBase).second)
llvm_unreachable("Found a duplicate primary base!");
}
diff --git a/clang/lib/CodeGen/CGCleanup.h b/clang/lib/CodeGen/CGCleanup.h
index fd8206fbccfe18..f8dc11ada379ab 100644
--- a/clang/lib/CodeGen/CGCleanup.h
+++ b/clang/lib/CodeGen/CGCleanup.h
@@ -310,7 +310,7 @@ class alignas(8) EHCleanupScope : public EHScope {
private:
void CollectUses(llvm::Instruction *I,
llvm::SetVector<llvm::Instruction *> &Uses) {
- if (!I || !Uses.insert(I))
+ if (!I || !Uses.insert(I).second)
return;
for (auto *User : I->users())
CollectUses(cast<llvm::Instruction>(User), Uses);
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index f5fd8b7b904351..4b785bff5f4da8 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -8202,7 +8202,7 @@ void CodeGenModule::EmitTopLevelDecl(Decl *D) {
auto *Import = cast<ImportDecl>(D);
// If we've already imported this module, we're done.
- if (!ImportedModules.insert(Import->getImportedModule()))
+ if (!ImportedModules.insert(Import->getImportedModule()).second)
break;
// Emit debug information for direct imports.
diff --git a/clang/lib/Sema/SemaLookup.cpp b/clang/lib/Sema/SemaLookup.cpp
index bc8a30d4e9dad4..22fcb6b97fa916 100644
--- a/clang/lib/Sema/SemaLookup.cpp
+++ b/clang/lib/Sema/SemaLookup.cpp
@@ -2901,7 +2901,7 @@ namespace {
bool addClassTransitive(CXXRecordDecl *RD) {
Classes.insert(RD);
- return ClassesTransitive.insert(RD);
+ return ClassesTransitive.insert(RD).second;
}
Sema &S;
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index 62b6ad8ffb5644..a64ce4ab97fa6e 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -9272,7 +9272,7 @@ BuiltinCandidateTypeSet::AddPointerWithMoreQualifiedTypeVariants(QualType Ty,
const Qualifiers &VisibleQuals) {
// Insert this type.
- if (!PointerTypes.insert(Ty))
+ if (!PointerTypes.insert(Ty).second)
return false;
QualType PointeeTy;
@@ -9340,7 +9340,7 @@ bool
BuiltinCandidateTypeSet::AddMemberPointerWithMoreQualifiedTypeVariants(
QualType Ty) {
// Insert this type.
- if (!MemberPointerTypes.insert(Ty))
+ if (!MemberPointerTypes.insert(Ty).second)
return false;
const MemberPointerType *PointerTy = Ty->getAs<MemberPointerType>();
diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp
index 0afba1c84fd627..8e870a7b817a0a 100644
--- a/clang/lib/Serialization/ASTWriter.cpp
+++ b/clang/lib/Serialization/ASTWriter.cpp
@@ -7791,7 +7791,8 @@ void ASTWriter::AddedVisibleDecl(const DeclContext *DC, const Decl *D) {
assert(DC == DC->getPrimaryContext() && "added to non-primary context");
assert(!getDefinitiveDeclContext(DC) && "DeclContext not definitive!");
assert(!WritingAST && "Already writing the AST!");
- if (UpdatedDeclContexts.insert(DC) && !cast<Decl>(DC)->isFromASTFile()) {
+ if (UpdatedDeclContexts.insert(DC).second &&
+ !cast<Decl>(DC)->isFromASTFile()) {
// We're adding a visible declaration to a predefined decl context. Ensure
// that we write out all of its lookup results so we don't get a nasty
// surprise when we try to emit its lookup table.
diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp
index 134aae9ef98ad5..f4806a141a088f 100644
--- a/lld/ELF/Driver.cpp
+++ b/lld/ELF/Driver.cpp
@@ -1336,7 +1336,7 @@ static SmallVector<StringRef, 0> getSymbolOrderingFile(Ctx &ctx,
MemoryBufferRef mb) {
SetVector<StringRef, SmallVector<StringRef, 0>> names;
for (StringRef s : args::getLines(mb))
- if (!names.insert(s) && ctx.arg.warnSymbolOrdering)
+ if (!names.insert(s).second && ctx.arg.warnSymbolOrdering)
Warn(ctx) << mb.getBufferIdentifier()
<< ": duplicate ordered symbol: " << s;
diff --git a/lld/MachO/SyntheticSections.cpp b/lld/MachO/SyntheticSections.cpp
index cc7aaa2c7ee9fe..2492790285fe20 100644
--- a/lld/MachO/SyntheticSections.cpp
+++ b/lld/MachO/SyntheticSections.cpp
@@ -337,7 +337,7 @@ void macho::addNonLazyBindingEntries(const Symbol *sym,
}
void GotSection::addEntry(Symbol *sym) {
- if (entries.insert(sym)) {
+ if (entries.insert(sym).second) {
// Every symbol has at most one non-lazy pointer slot.
assert(!sym->isInGot());
sym->gotIndex = entries.size() - 1;
@@ -746,7 +746,7 @@ static void addBindingsForStub(Symbol *sym) {
}
void StubsSection::addEntry(Symbol *sym) {
- bool inserted = entries.insert(sym);
+ bool inserted = entries.insert(sym).second;
if (inserted) {
sym->stubsIndex = entries.size() - 1;
@@ -1011,7 +1011,7 @@ void LazyBindingSection::writeTo(uint8_t *buf) const {
void LazyBindingSection::addEntry(Symbol *sym) {
assert(!config->emitChainedFixups && "Chained fixups always bind eagerly");
- if (entries.insert(sym)) {
+ if (entries.insert(sym).second) {
sym->stubsHelperIndex = entries.size() - 1;
in.rebase->addEntry(in.lazyPointers->isec,
sym->stubsIndex * target->wordSize);
diff --git a/lld/include/lld/Common/BPSectionOrdererBase.inc b/lld/include/lld/Common/BPSectionOrdererBase.inc
index 841c46110ae0f1..a88026ef935bf5 100644
--- a/lld/include/lld/Common/BPSectionOrdererBase.inc
+++ b/lld/include/lld/Common/BPSectionOrdererBase.inc
@@ -381,7 +381,7 @@ auto BPOrderer<D>::computeOrder(
// Order startup functions,
for (auto &node : nodesForStartup) {
const auto *isec = sections[node.Id];
- if (orderedSections.insert(isec)) {
+ if (orderedSections.insert(isec).second) {
startupSize += D::getSize(*isec);
++numStartupSections;
}
@@ -390,7 +390,7 @@ auto BPOrderer<D>::computeOrder(
for (const auto &nodes : nodesForCompression) {
for (auto &node : nodes) {
const auto *isec = sections[node.Id];
- if (orderedSections.insert(isec)) {
+ if (orderedSections.insert(isec).second) {
compressionSize += D::getSize(*isec);
++numCompressionSections;
}
@@ -399,7 +399,7 @@ auto BPOrderer<D>::computeOrder(
continue;
for (auto dupSecIdx : It->getSecond()) {
const auto *dupIsec = sections[dupSecIdx];
- if (orderedSections.insert(dupIsec)) {
+ if (orderedSections.insert(dupIsec).second) {
duplicateCompressionSize += D::getSize(*dupIsec);
++numDuplicateCompressionSections;
}
diff --git a/llvm/include/llvm/ADT/CachedHashString.h b/llvm/include/llvm/ADT/CachedHashString.h
index 902951d0011bc1..169d8035706165 100644
--- a/llvm/include/llvm/ADT/CachedHashString.h
+++ b/llvm/include/llvm/ADT/CachedHashString.h
@@ -40,6 +40,9 @@ class CachedHashStringRef {
: P(S.data()), Size(S.size()), Hash(Hash) {
assert(S.size() <= std::numeric_limits<uint32_t>::max());
}
+ bool operator==(const CachedHashStringRef &Other) const {
+ return hash() == Other.hash() && val() == Other.val();
+ }
StringRef val() const { return StringRef(P, Size); }
const char *data() const { return P; }
diff --git a/llvm/include/llvm/ADT/DirectedGraph.h b/llvm/include/llvm/ADT/DirectedGraph.h
index fe7c9e51cbd9af..e15c18f7970359 100644
--- a/llvm/include/llvm/ADT/DirectedGraph.h
+++ b/llvm/include/llvm/ADT/DirectedGraph.h
@@ -112,7 +112,7 @@ template <class NodeType, class EdgeType> class DGNode {
/// Add the given edge \p E to this node, if it doesn't exist already. Returns
/// true if the edge is added and false otherwise.
- bool addEdge(EdgeType &E) { return Edges.insert(&E); }
+ bool addEdge(EdgeType &E) { return Edges.insert(&E).second; }
/// Remove the given edge \p E from this node, if it exists.
void removeEdge(EdgeType &E) { Edges.remove(&E); }
diff --git a/llvm/include/llvm/ADT/GenericUniformityImpl.h b/llvm/include/llvm/ADT/GenericUniformityImpl.h
index c6f0bba051b609..7fcc13f6f01006 100644
--- a/llvm/include/llvm/ADT/GenericUniformityImpl.h
+++ b/llvm/include/llvm/ADT/GenericUniformityImpl.h
@@ -924,7 +924,7 @@ void GenericUniformityAnalysisImpl<ContextT>::propagateCycleExitDivergence(
LLVM_DEBUG(dbgs() << "\tOuter-most exiting cycle: "
<< Context.print(CI.getHeader(OuterDivCycle)) << "\n");
- if (!DivergentExitCycles.insert(OuterDivCycle))
+ if (!DivergentExitCycles.insert(OuterDivCycle).second)
return;
// Exit divergence does not matter if the cycle itself is assumed to
diff --git a/llvm/include/llvm/ADT/SetVector.h b/llvm/include/llvm/ADT/SetVector.h
index bc0ac2583327b3..24defb802c9c16 100644
--- a/llvm/include/llvm/ADT/SetVector.h
+++ b/llvm/include/llvm/ADT/SetVector.h
@@ -153,23 +153,26 @@ class SetVector {
}
/// Insert a new element into the SetVector.
- /// \returns true if the element was inserted into the SetVector.
- bool insert(const value_type &X) {
+ /// \returns a pair, whose first member is the iterator pointed to the
+ /// element, and the second member indicates if the element was inserted.
+ std::pair<iterator, bool> insert(const value_type &X) {
if constexpr (canBeSmall())
if (isSmall()) {
if (!llvm::is_contained(vector_, X)) {
vector_.push_back(X);
if (vector_.size() > N)
makeBig();
- return true;
+ return {std::prev(vector_.end()), true};
}
- return false;
+ return {find(vector_, X), false};
}
bool result = set_.insert(X).second;
- if (result)
+ if (result) {
vector_.push_back(X);
- return result;
+ return {std::prev(vector_.end()), result};
+ }
+ return {find(vector_, X), result};
}
/// Insert a range of elements into the SetVector.
@@ -304,7 +307,7 @@ class SetVector {
bool Changed = false;
for (const auto &Elem : S)
- if (insert(Elem))
+ if (insert(Elem).second)
Changed = true;
return Changed;
diff --git a/llvm/include/llvm/CodeGen/MachinePipeliner.h b/llvm/include/llvm/CodeGen/MachinePipeliner.h
index 9b8beef1a1677b..24d5e9dcf1deef 100644
--- a/llvm/include/llvm/CodeGen/MachinePipeliner.h
+++ b/llvm/include/llvm/CodeGen/MachinePipeliner.h
@@ -529,7 +529,7 @@ class NodeSet {
Latency = SUnitToDistance[Nodes.front()];
}
- bool insert(SUnit *SU) { return Nodes.insert(SU); }
+ bool insert(SUnit *SU) { return Nodes.insert(SU).second; }
void insert(iterator S, iterator E) { Nodes.insert(S, E); }
diff --git a/llvm/include/llvm/IR/ModuleSummaryIndex.h b/llvm/include/llvm/IR/ModuleSummaryIndex.h
index 4f68582b65c4eb..c34efcc946f580 100644
--- a/llvm/include/llvm/IR/ModuleSummaryIndex.h
+++ b/llvm/include/llvm/IR/ModuleSummaryIndex.h
@@ -841,6 +841,9 @@ class FunctionSummary : public GlobalValueSummary {
struct VFuncId {
GlobalValue::GUID GUID;
uint64_t Offset;
+ bool operator==(const VFuncId &Other) const {
+ return GUID == Other.GUID && Offset == Other.Offset;
+ }
};
/// A specification for a virtual function call with all constant integer
@@ -849,6 +852,9 @@ class FunctionSummary : public GlobalValueSummary {
struct ConstVCall {
VFuncId VFunc;
std::vector<uint64_t> Args;
+ bool operator==(const ConstVCall &Other) const {
+ return VFunc == Other.VFunc && Args == Other.Args;
+ }
};
/// All type identifier related information. Because these fields are
diff --git a/llvm/include/llvm/MC/MCContext.h b/llvm/include/llvm/MC/MCContext.h
index 7e76abe08f56f7..026ecd5f985a91 100644
--- a/llvm/include/llvm/MC/MCContext.h
+++ b/llvm/include/llvm/MC/MCContext.h
@@ -788,7 +788,7 @@ class MCContext {
}
bool addGenDwarfSection(MCSection *Sec) {
- return SectionsForRanges.insert(Sec);
+ return SectionsForRanges.insert(Sec).second;
}
LLVM_ABI void finalizeDwarfSections(MCStreamer &MCOS);
diff --git a/llvm/include/llvm/Transforms/Utils/InstructionWorklist.h b/llvm/include/llvm/Transforms/Utils/InstructionWorklist.h
index 5a46fff651336b..a1b6f7967a946a 100644
--- a/llvm/include/llvm/Transforms/Utils/InstructionWorklist.h
+++ b/llvm/include/llvm/Transforms/Utils/InstructionWorklist.h
@@ -42,7 +42,7 @@ class InstructionWorklist {
/// Instructions will be visited in the order they are added.
/// You likely want to use this method.
void add(Instruction *I) {
- if (Deferred.insert(I))
+ if (Deferred.insert(I).second)
LLVM_DEBUG(dbgs() << "ADD DEFERRED: " << *I << '\n');
}
diff --git a/llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp b/llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
index 5c3bd1bc1edd42..bd6bbec05a0e66 100644
--- a/llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
+++ b/llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
@@ -558,8 +558,7 @@ void FunctionPropertiesUpdater::finish(FunctionAnalysisManager &FAM) const {
// ending at those successors, we also want to perform a traversal.
// IncludeSuccessorsMark is the index after which we include successors.
const auto IncludeSuccessorsMark = Reinclude.size();
- bool CSInsertion = Reinclude.insert(&CallSiteBB);
- (void)CSInsertion;
+ [[maybe_unused]] bool CSInsertion = Reinclude.insert(&CallSiteBB).second;
assert(CSInsertion);
for (size_t I = 0; I < Reinclude.size(); ++I) {
const auto *BB = Reinclude[I];
diff --git a/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp b/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
index c5f9890018e26e..53350613b8f3ea 100644
--- a/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
+++ b/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
@@ -472,7 +472,7 @@ static const MDNode *getLeastCommonType(const MDNode *A, const MDNode *B) {
SmallSetVector<const MDNode *, 4> PathA;
TBAANode TA(A);
while (TA.getNode()) {
- if (!PathA.insert(TA.getNode()))
+ if (!PathA.insert(TA.getNode()).second)
report_fatal_error("Cycle found in TBAA metadata.");
TA = TA.getParent();
}
@@ -480,7 +480,7 @@ static const MDNode *getLeastCommonType(const MDNode *A, const MDNode *B) {
SmallSetVector<const MDNode *, 4> PathB;
TBAANode TB(B);
while (TB.getNode()) {
- if (!PathB.insert(TB.getNode()))
+ if (!PathB.insert(TB.getNode()).second)
report_fatal_error("Cycle found in TBAA metadata.");
TB = TB.getParent();
}
diff --git a/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
index 6a82db3ea6c6ec..982a309b2cb11b 100644
--- a/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
@@ -4306,7 +4306,7 @@ void CombinerHelper::applyExtendThroughPhis(MachineInstr &MI,
MachineInstr *SrcMI;
if (!mi_match(SrcReg, MRI, m_MInstr(SrcMI)))
continue;
- if (!SrcMIs.insert(SrcMI))
+ if (!SrcMIs.insert(SrcMI).second)
continue;
// Build an extend after each src inst.
diff --git a/llvm/lib/CodeGen/MachineInstrBundle.cpp b/llvm/lib/CodeGen/MachineInstrBundle.cpp
index c6eeed3adcb405..2a27f18fa51376 100644
--- a/llvm/lib/CodeGen/MachineInstrBundle.cpp
+++ b/llvm/lib/CodeGen/MachineInstrBundle.cpp
@@ -173,7 +173,7 @@ void llvm::finalizeBundle(MachineBasicBlock &MBB,
DeadDefSet.insert(Reg);
}
} else {
- if (ExternUses.insert(Reg)) {
+ if (ExternUses.insert(Reg).second) {
if (MO.isUndef())
UndefUseSet.insert(Reg);
}
@@ -198,7 +198,7 @@ void llvm::finalizeBundle(MachineBasicBlock &MBB,
if (!Reg)
continue;
- if (LocalDefs.insert(Reg)) {
+ if (LocalDefs.insert(Reg).second) {
if (!MO.isDead() && Reg.isPhysical()) {
for (MCRegUnit Unit : TRI->regunits(Reg.asMCReg()))
LocalDefsP.set(static_cast<unsigned>(Unit));
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index c66190b8c1d31b..bf07a308dae302 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -28456,7 +28456,7 @@ static SDValue foldExtractSubvectorFromShuffleVector(EVT NarrowVT, SDValue Src,
const std::pair<SDValue, int> DemandedSubvector =
std::make_pair(Op, OpSubvecIdx);
- if (DemandedSubvectors.insert(DemandedSubvector)) {
+ if (DemandedSubvectors.insert(DemandedSubvector).second) {
if (DemandedSubvectors.size() > 2)
return SDValue(); // We can't handle more than two subvectors.
// How many elements into the WideVT does this subvector start?
diff --git a/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp b/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
index b7a9464c6661c8..76c1ec51ec6eeb 100644
--- a/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
@@ -455,7 +455,7 @@ lowerIncomingStatepointValue(SDValue Incoming, bool RequireSpillSlot,
SmallVectorImpl<SDValue> &Ops,
SmallVectorImpl<MachineMemOperand *> &MemRefs,
SelectionDAGBuilder &Builder) {
-
+
if (willLowerDirectly(Incoming)) {
if (FrameIndexSDNode *FI = dyn_cast<FrameIndexSDNode>(Incoming)) {
// This handles allocas as arguments to the statepoint (this is only
@@ -473,7 +473,7 @@ lowerIncomingStatepointValue(SDValue Incoming, bool RequireSpillSlot,
}
assert(Incoming.getValueType().getSizeInBits() <= 64);
-
+
if (Incoming.isUndef()) {
// Put an easily recognized constant that's unlikely to be a valid
// value so that uses of undef by the consumer of the stackmap is
@@ -515,7 +515,7 @@ lowerIncomingStatepointValue(SDValue Incoming, bool RequireSpillSlot,
// found by the runtime later. Note: We know all of these spills are
// independent, but don't bother to exploit that chain wise. DAGCombine
// will happily...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/232372
More information about the Mlir-commits
mailing list