[mlir] Use *Set::insert_range (NFC) (#132326)

DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range.  This patch replaces:

  Dest.insert(Src.begin(), Src.end());

with:

  Dest.insert_range(Src);

This patch does not touch custom begin like succ_begin for now.
This commit is contained in:
Kazu Hirata 2025-03-20 22:24:17 -07:00 committed by GitHub
parent 599005686a
commit 3041fa6c7a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
24 changed files with 33 additions and 43 deletions

View File

@ -356,7 +356,7 @@ struct LinalgPromotionOptions {
std::optional<DenseSet<unsigned>> operandsToPromote;
LinalgPromotionOptions &setOperandsToPromote(ArrayRef<int64_t> operands) {
operandsToPromote = DenseSet<unsigned>();
operandsToPromote->insert(operands.begin(), operands.end());
operandsToPromote->insert_range(operands);
return *this;
}
/// If ith element of `useFullTiles` is true the full view should be used

View File

@ -171,12 +171,12 @@ mlir::getSlice(Operation *op, const BackwardSliceOptions &backwardSliceOptions,
// Compute and insert the backwardSlice starting from currentOp.
backwardSlice.clear();
getBackwardSlice(currentOp, &backwardSlice, backwardSliceOptions);
slice.insert(backwardSlice.begin(), backwardSlice.end());
slice.insert_range(backwardSlice);
// Compute and insert the forwardSlice starting from currentOp.
forwardSlice.clear();
getForwardSlice(currentOp, &forwardSlice, forwardSliceOptions);
slice.insert(forwardSlice.begin(), forwardSlice.end());
slice.insert_range(forwardSlice);
++currentIndex;
}
return topologicalSort(slice);

View File

@ -159,7 +159,7 @@ SetVector<Block *> mlir::getBlocksSortedByDominance(Region &region) {
for (Block &b : region) {
if (blocks.count(&b) == 0) {
llvm::ReversePostOrderTraversal<Block *> traversal(&b);
blocks.insert(traversal.begin(), traversal.end());
blocks.insert_range(traversal);
}
}
assert(blocks.size() == region.getBlocks().size() &&
@ -222,7 +222,7 @@ private:
}
}
auto firstRange = llvm::make_first_range(regionCounts);
ancestorRegions.insert(firstRange.begin(), firstRange.end());
ancestorRegions.insert_range(firstRange);
return res;
}

View File

@ -318,7 +318,7 @@ getSliceContract(Operation *op,
// Compute and insert the backwardSlice starting from currentOp.
backwardSlice.clear();
getBackwardSlice(currentOp, &backwardSlice, backwardSliceOptions);
slice.insert(backwardSlice.begin(), backwardSlice.end());
slice.insert_range(backwardSlice);
// Compute and insert the forwardSlice starting from currentOp.
forwardSlice.clear();
@ -334,7 +334,7 @@ getSliceContract(Operation *op,
} else {
getForwardSlice(currentOp, &forwardSlice, forwardSliceOptions);
}
slice.insert(forwardSlice.begin(), forwardSlice.end());
slice.insert_range(forwardSlice);
++currentIndex;
}
return slice;
@ -374,7 +374,7 @@ static SetVector<Operation *> getOpToConvert(mlir::Operation *op,
}))
return;
opToConvert.insert(dependentOps.begin(), dependentOps.end());
opToConvert.insert_range(dependentOps);
});
// Sort the operations so that we can convert them in topological order.
return topologicalSort(opToConvert);

View File

@ -306,8 +306,7 @@ outlineExecuteOp(SymbolTable &symbolTable, ExecuteOp execute) {
// Collect all outlined function inputs.
SetVector<mlir::Value> functionInputs(execute.getDependencies().begin(),
execute.getDependencies().end());
functionInputs.insert(execute.getBodyOperands().begin(),
execute.getBodyOperands().end());
functionInputs.insert_range(execute.getBodyOperands());
getUsedValuesDefinedAbove(execute.getBodyRegion(), functionInputs);
// Collect types for the outlined function inputs and outputs.

View File

@ -426,8 +426,7 @@ static DiagnosedSilenceableFailure rewriteOneForallCommonImpl(
"requires statically sized, normalized forall op");
SmallVector<int64_t> tmpMappingSizes = numParallelIterations.value();
SetVector<Attribute> forallMappingAttrs;
forallMappingAttrs.insert(forallOp.getMapping()->getValue().begin(),
forallOp.getMapping()->getValue().end());
forallMappingAttrs.insert_range(forallOp.getMapping()->getValue());
auto comparator = [](Attribute a, Attribute b) -> bool {
return cast<DeviceMappingAttrInterface>(a).getMappingId() <
cast<DeviceMappingAttrInterface>(b).getMappingId();

View File

@ -266,7 +266,7 @@ gpu::GPUFuncOp mlir::outlineKernelFunc(gpu::LaunchOp launchOp,
StringRef kernelFnName,
llvm::SmallVectorImpl<Value> &operands) {
DenseSet<Value> inputOperandSet;
inputOperandSet.insert(operands.begin(), operands.end());
inputOperandSet.insert_range(operands);
SetVector<Value> operandSet(operands.begin(), operands.end());
auto funcOp = outlineKernelFuncImpl(launchOp, kernelFnName, operandSet);
for (auto operand : operandSet) {

View File

@ -73,7 +73,7 @@ WarpDistributionPattern::moveRegionToNewWarpOpAndAppendReturns(
}
}
}
yieldValues.insert(newYieldedValues.begin(), newYieldedValues.end());
yieldValues.insert_range(newYieldedValues);
WarpExecuteOnLane0Op newWarpOp = moveRegionToNewWarpOpAndReplaceReturns(
rewriter, warpOp, yieldValues.getArrayRef(), types);
rewriter.replaceOp(warpOp,

View File

@ -1087,7 +1087,7 @@ void GenericOp::print(OpAsmPrinter &p) {
auto genericAttrNames = linalgTraitAttrNames();
llvm::StringSet<> genericAttrNamesSet;
genericAttrNamesSet.insert(genericAttrNames.begin(), genericAttrNames.end());
genericAttrNamesSet.insert_range(genericAttrNames);
SmallVector<NamedAttribute, 8> genericAttrs;
for (auto attr : (*this)->getAttrs()) {
if (attr.getName() == getIteratorTypesAttrName()) {
@ -4884,8 +4884,7 @@ static bool inferStaticShape(PackOp packOp, SmallVectorImpl<int64_t> &srcShape,
destShape.assign(packOp.getDestType().getShape().begin(),
packOp.getDestType().getShape().end());
llvm::SmallSetVector<int64_t, 4> innerDims;
innerDims.insert(packOp.getInnerDimsPos().begin(),
packOp.getInnerDimsPos().end());
innerDims.insert_range(packOp.getInnerDimsPos());
SmallVector<int64_t> inverseOuterDimsPerm;
if (!packOp.getOuterDimsPerm().empty())
inverseOuterDimsPerm = invertPermutationVector(packOp.getOuterDimsPerm());
@ -5197,7 +5196,7 @@ static bool inferStaticShape(UnPackOp op, SmallVectorImpl<int64_t> &srcShape,
destShape.assign(op.getDestType().getShape().begin(),
op.getDestType().getShape().end());
llvm::SmallSetVector<int64_t, 4> innerDims;
innerDims.insert(op.getInnerDimsPos().begin(), op.getInnerDimsPos().end());
innerDims.insert_range(op.getInnerDimsPos());
SmallVector<int64_t> inverseOuterDimsPerm;
if (!op.getOuterDimsPerm().empty())
inverseOuterDimsPerm = invertPermutationVector(op.getOuterDimsPerm());

View File

@ -1251,8 +1251,7 @@ transform::MatchOp::apply(transform::TransformRewriter &rewriter,
transform::TransformState &state) {
llvm::StringSet<> strs;
if (getOps().has_value())
strs.insert(getOps()->getAsValueRange<StringAttr>().begin(),
getOps()->getAsValueRange<StringAttr>().end());
strs.insert_range(getOps()->getAsValueRange<StringAttr>());
auto payloadOps = state.getPayloadOps(getTarget());
if (!llvm::hasSingleElement(payloadOps)) {

View File

@ -1205,7 +1205,7 @@ bool mlir::linalg::isDimSequencePreserved(AffineMap indexingMap,
"expected indexing map to be projected permutation");
llvm::SmallDenseSet<unsigned, 4> sequenceElements;
sequenceElements.insert(dimSequence.begin(), dimSequence.end());
sequenceElements.insert_range(dimSequence);
unsigned dimSequenceStart = dimSequence[0];
for (const auto &expr : enumerate(indexingMap.getResults())) {
@ -1381,8 +1381,7 @@ getCollapsableIterationSpaceDims(GenericOp genericOp, OpOperand *fusableOperand,
}))
continue;
processedIterationDims.insert(foldedIterationSpaceDims.begin(),
foldedIterationSpaceDims.end());
processedIterationDims.insert_range(foldedIterationSpaceDims);
iterationSpaceReassociation.emplace_back(
std::move(foldedIterationSpaceDims));
}

View File

@ -219,7 +219,7 @@ Operation *mlir::cloneWithoutRegions(OpBuilder &b, Operation *op,
SmallVector<NamedAttribute>
mlir::getPrunedAttributeList(Operation *op, ArrayRef<StringRef> elidedAttrs) {
llvm::StringSet<> elidedAttrsSet;
elidedAttrsSet.insert(elidedAttrs.begin(), elidedAttrs.end());
elidedAttrsSet.insert_range(elidedAttrs);
SmallVector<NamedAttribute> attrs;
for (auto attr : op->getAttrs()) {
if (elidedAttrsSet.count(attr.getName()))

View File

@ -838,7 +838,7 @@ void ContractionOp::print(OpAsmPrinter &p) {
// TODO: Unify printing code with linalg ops.
auto attrNames = getTraitAttrNames();
llvm::StringSet<> traitAttrsSet;
traitAttrsSet.insert(attrNames.begin(), attrNames.end());
traitAttrsSet.insert_range(attrNames);
SmallVector<NamedAttribute, 8> attrs;
for (auto attr : (*this)->getAttrs()) {
if (attr.getName() == getIteratorTypesAttrName()) {

View File

@ -219,8 +219,7 @@ Location FusedLoc::get(ArrayRef<Location> locs, Attribute metadata,
if (fusedLoc.getMetadata() == metadata) {
// UnknownLoc's have already been removed from FusedLocs so we can
// simply add all of the internal locations.
decomposedLocs.insert(fusedLoc.getLocations().begin(),
fusedLoc.getLocations().end());
decomposedLocs.insert_range(fusedLoc.getLocations());
continue;
}
}

View File

@ -65,10 +65,8 @@ FrozenRewritePatternSet::FrozenRewritePatternSet(
ArrayRef<std::string> enabledPatternLabels)
: impl(std::make_shared<Impl>()) {
DenseSet<StringRef> disabledPatterns, enabledPatterns;
disabledPatterns.insert(disabledPatternLabels.begin(),
disabledPatternLabels.end());
enabledPatterns.insert(enabledPatternLabels.begin(),
enabledPatternLabels.end());
disabledPatterns.insert_range(disabledPatternLabels);
enabledPatterns.insert_range(enabledPatternLabels);
// Functor used to walk all of the operations registered in the context. This
// is useful for patterns that get applied to multiple operations, such as

View File

@ -152,7 +152,7 @@ getTopologicallySortedBlocks(ArrayRef<llvm::BasicBlock *> basicBlocks) {
for (llvm::BasicBlock *basicBlock : basicBlocks) {
if (!blocks.contains(basicBlock)) {
llvm::ReversePostOrderTraversal<llvm::BasicBlock *> traversal(basicBlock);
blocks.insert(traversal.begin(), traversal.end());
blocks.insert_range(traversal);
}
}
assert(blocks.size() == basicBlocks.size() && "some blocks are not sorted");

View File

@ -408,7 +408,7 @@ void MemorySlotPromotionAnalyzer::computeMergePoints(
SmallVector<Block *> mergePointsVec;
idfCalculator.calculate(mergePointsVec);
mergePoints.insert(mergePointsVec.begin(), mergePointsVec.end());
mergePoints.insert_range(mergePointsVec);
}
bool MemorySlotPromotionAnalyzer::areMergePointsUsable(

View File

@ -961,11 +961,11 @@ MultiOpPatternRewriteDriver::MultiOpPatternRewriteDriver(
: GreedyPatternRewriteDriver(ctx, patterns, config),
survivingOps(survivingOps) {
if (config.strictMode != GreedyRewriteStrictness::AnyOp)
strictModeFilteredOps.insert(ops.begin(), ops.end());
strictModeFilteredOps.insert_range(ops);
if (survivingOps) {
survivingOps->clear();
survivingOps->insert(ops.begin(), ops.end());
survivingOps->insert_range(ops);
}
}

View File

@ -76,7 +76,7 @@ public:
}
size_t sizeBefore = accesses.size();
accesses.insert(other.accesses.begin(), other.accesses.end());
accesses.insert_range(other.accesses);
return accesses.size() == sizeBefore ? ChangeResult::NoChange
: ChangeResult::Change;
}

View File

@ -41,7 +41,7 @@ struct WrittenToLatticeValue {
ChangeResult addWrites(const SetVector<StringAttr> &writes) {
int sizeBefore = this->writes.size();
this->writes.insert(writes.begin(), writes.end());
this->writes.insert_range(writes);
int sizeAfter = this->writes.size();
return sizeBefore == sizeAfter ? ChangeResult::NoChange
: ChangeResult::Change;

View File

@ -27,7 +27,7 @@ static void addOperands(Operation *op, SetVector<Value> &operandSet) {
TypeSwitch<Operation *, void>(op)
.Case<linalg::LinalgOp>([&](linalg::LinalgOp linalgOp) {
SmallVector<Value> inputOperands = linalgOp.getDpsInputs();
operandSet.insert(inputOperands.begin(), inputOperands.end());
operandSet.insert_range(inputOperands);
})
.Default([&](Operation *operation) {
operandSet.insert(operation->operand_begin(), operation->operand_end());

View File

@ -753,7 +753,7 @@ struct TestCreateVectorBroadcast
cast<DenseI64ArrayAttr>(op->getDiscardableAttr("broadcast_dims"))
.asArrayRef();
llvm::SetVector<int64_t> broadcastedDims;
broadcastedDims.insert(arrayAttr.begin(), arrayAttr.end());
broadcastedDims.insert_range(arrayAttr);
OpBuilder b(op);
Value bcast = vector::BroadcastOp::createOrFoldBroadcastOp(
b, op->getOperand(0), targetShape, broadcastedDims);

View File

@ -551,8 +551,7 @@ void DefGen::emitTraitMethods(const InterfaceTrait &trait) {
// Get the set of methods that should always be declared.
auto alwaysDeclaredMethods = trait.getAlwaysDeclaredMethods();
StringSet<> alwaysDeclared;
alwaysDeclared.insert(alwaysDeclaredMethods.begin(),
alwaysDeclaredMethods.end());
alwaysDeclared.insert_range(alwaysDeclaredMethods);
Interface iface = trait.getInterface(); // causes strange bugs if elided
for (auto &method : iface.getMethods()) {

View File

@ -3570,8 +3570,7 @@ void OpEmitter::genOpInterfaceMethods(const tblgen::InterfaceTrait *opTrait) {
// Get the set of methods that should always be declared.
auto alwaysDeclaredMethodsVec = opTrait->getAlwaysDeclaredMethods();
llvm::StringSet<> alwaysDeclaredMethods;
alwaysDeclaredMethods.insert(alwaysDeclaredMethodsVec.begin(),
alwaysDeclaredMethodsVec.end());
alwaysDeclaredMethods.insert_range(alwaysDeclaredMethodsVec);
for (const InterfaceMethod &method : interface.getMethods()) {
// Don't declare if the method has a body.