[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:
parent
599005686a
commit
3041fa6c7a
@ -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
|
||||
|
@ -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);
|
||||
|
@ -159,7 +159,7 @@ SetVector<Block *> mlir::getBlocksSortedByDominance(Region ®ion) {
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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.
|
||||
|
@ -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();
|
||||
|
@ -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) {
|
||||
|
@ -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,
|
||||
|
@ -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());
|
||||
|
@ -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)) {
|
||||
|
@ -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));
|
||||
}
|
||||
|
@ -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()))
|
||||
|
@ -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()) {
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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");
|
||||
|
@ -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(
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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());
|
||||
|
@ -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);
|
||||
|
@ -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()) {
|
||||
|
@ -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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user