17 #include "mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp.inc"
27 if (!op.needsExtraSort())
31 Type finalTp = op->getOpResult(0).getType();
33 Type srcCOOTp = dstStt.getCOOType(
false);
43 Type dstCOOTp = dstStt.getCOOType(
true);
45 loc, dstCOOTp, srcCOO, SparseTensorSortKind::HybridQuickSort);
48 if (dstCOO.
getType() == finalTp) {
This class defines the main interface for locations in MLIR and acts as a non-nullable wrapper around...
Operation * clone(Operation &op, IRMapping &mapper)
Creates a deep copy of the specified operation, remapping any operands that use values outside of the...
Operation * create(const OperationState &state)
Creates an operation given the fields represented as an OperationState.
void setInsertionPointAfter(Operation *op)
Sets the insertion point to the node after the specified operation, which will cause subsequent inser...
Operation is the basic unit of execution within MLIR.
OpResult getOpResult(unsigned idx)
A special type of RewriterBase that coordinates the application of a rewrite pattern on the current I...
virtual void replaceOp(Operation *op, ValueRange newValues)
Replace the results of the given (original) operation with the specified list of values (replacements...
void modifyOpInPlace(Operation *root, CallableT &&callable)
This method is a utility wrapper around an in-place modification of an operation.
OpTy replaceOpWithNewOp(Operation *op, Args &&...args)
Replace the results of the given (original) op with a new op that is created without verification (re...
Instances of the Type class are uniqued, have an immutable identifier and an optional mutable compone...
This class represents an instance of an SSA value in the MLIR system, representing a computable value...
Type getType() const
Return the type of this value.
A wrapper around RankedTensorType, which has three goals:
LogicalResult stageWithSortImpl(sparse_tensor::StageWithSortSparseOp op, PatternRewriter &rewriter, Value &tmpBufs)
Include the generated interface declarations.