diff --git a/mlir/lib/IR/AsmPrinter.cpp b/mlir/lib/IR/AsmPrinter.cpp index fc1806900c0aa..c7cc6a02ad208 100644 --- a/mlir/lib/IR/AsmPrinter.cpp +++ b/mlir/lib/IR/AsmPrinter.cpp @@ -1146,8 +1146,7 @@ template std::pair AliasInitializer::visitImpl( T value, llvm::MapVector &aliases, bool canBeDeferred, PrintArgs &&...printArgs) { - auto [it, inserted] = - aliases.insert({value.getAsOpaquePointer(), InProgressAliasInfo()}); + auto [it, inserted] = aliases.try_emplace(value.getAsOpaquePointer()); size_t aliasIndex = std::distance(aliases.begin(), it); if (!inserted) { // Make sure that the alias isn't deferred if we don't permit it. diff --git a/mlir/lib/IR/SymbolTable.cpp b/mlir/lib/IR/SymbolTable.cpp index 075a0ba15d7cd..aaa4d5617eb4f 100644 --- a/mlir/lib/IR/SymbolTable.cpp +++ b/mlir/lib/IR/SymbolTable.cpp @@ -1100,7 +1100,7 @@ void SymbolUserMap::replaceAllUsesWith(Operation *symbol, if (newSymbol != symbol) { // Transfer over the users to the new symbol. The reference to the old one // is fetched again as the iterator is invalidated during the insertion. - auto newIt = symbolToUsers.try_emplace(newSymbol, SetVector{}); + auto newIt = symbolToUsers.try_emplace(newSymbol); auto oldIt = symbolToUsers.find(symbol); assert(oldIt != symbolToUsers.end() && "missing old users list"); if (newIt.second) diff --git a/mlir/lib/Transforms/Utils/CFGToSCF.cpp b/mlir/lib/Transforms/Utils/CFGToSCF.cpp index de380fc325f55..7c1781044d2a2 100644 --- a/mlir/lib/Transforms/Utils/CFGToSCF.cpp +++ b/mlir/lib/Transforms/Utils/CFGToSCF.cpp @@ -709,7 +709,7 @@ transformToReduceLoop(Block *loopHeader, Block *exitBlock, llvm::SmallDenseMap dominanceCache; // Returns true if `loopBlock` dominates `block`. auto loopBlockDominates = [&](Block *block) { - auto [iter, inserted] = dominanceCache.insert({block, false}); + auto [iter, inserted] = dominanceCache.try_emplace(block); if (!inserted) return iter->second; iter->second = dominanceInfo.dominates(loopBlock, block);