|
MLIR 22.0.0git
|
#include "mlir/Dialect/Utils/StructuredOpsUtils.h"#include "mlir/IR/AffineMap.h"#include "mlir/IR/BuiltinTypes.h"#include "mlir/IR/IRMapping.h"#include "mlir/IR/ImplicitLocOpBuilder.h"#include "mlir/IR/OpDefinition.h"#include "mlir/Interfaces/DestinationStyleOpInterface.h"#include "mlir/Interfaces/IndexingMapOpInterface.h"#include "mlir/Interfaces/InferTypeOpInterface.h"#include "mlir/Interfaces/ViewLikeInterface.h"#include "mlir/Support/RawOstreamExtras.h"#include "mlir/Dialect/Linalg/IR/LinalgStructuredOps.h.inc"#include "mlir/Dialect/Linalg/IR/LinalgInterfaces.h.inc"#include "mlir/Dialect/Linalg/IR/RelayoutOpInterface.h.inc"Go to the source code of this file.
Classes | |
| struct | mlir::linalg::ContractionDimensions |
| Positions of a Linalg op loops that correspond to different kinds of a contraction dimension. More... | |
| struct | mlir::linalg::ConvolutionDimensions |
| Positions of a Linalg op loops that correspond to different kinds of a convolution dimension. More... | |
Namespaces | |
| namespace | mlir |
| Include the generated interface declarations. | |
| namespace | mlir::linalg |
| namespace | mlir::linalg::detail |
Functions | |
| bool | mlir::linalg::detail::canOpOperandsBeDroppedImpl (linalg::LinalgOp linalgOp, ArrayRef< OpOperand * > droppedOperands) |
| Implementation of the method that check if given operands can be dropped, i.e. | |
| FailureOr< ContractionDimensions > | mlir::linalg::inferContractionDims (LinalgOp linalgOp) |
| Find at least 2 parallel (m and n) and 1 reduction (k) dimension candidates that form a matmul subcomputation within linalgOp. | |
| FailureOr< ContractionDimensions > | mlir::linalg::inferContractionDims (ArrayRef< AffineMap > indexingMaps) |
| bool | mlir::linalg::isaContractionOpInterface (LinalgOp linalgOp) |
| Checks whether linalgOp conforms to ContractionOpInterface. | |
| FailureOr< ConvolutionDimensions > | mlir::linalg::inferConvolutionDims (LinalgOp linalgOp) |
| Find at least 1 parallel (output_image) and reduction (filter_loop) dimension candidates that form a convolution subcomputation within linalgOp. | |
| bool | mlir::linalg::isaConvolutionOpInterface (LinalgOp linalgOp, bool allowEmptyConvolvedDims=false) |
| Checks whether linalgOp conforms to ConvolutionOpInterface. | |
| bool | mlir::linalg::isaCopyOpInterface (LinalgOp linalgOp) |
| Checks whether linalgOp is semantically equivalent to a linalg.copyOp. | |
| std::optional< SmallVector< int64_t > > | mlir::linalg::isaBroadcastOpInterface (GenericOp genericOp) |
| Checks whether genericOp is semantically equivalent to a linalg.broadcast. | |
| std::optional< SmallVector< int64_t > > | mlir::linalg::isaTransposeOpInterface (GenericOp genericOp) |
| Checks whether genericOp is semantically equivalent to a linalg.transpose. | |
| bool | mlir::linalg::isaElemwiseSingleUnaryOpInterface (GenericOp genericOp) |
| Checks whether a given genericOp is semantically equivalent to a single linalgelementwise unary op. | |
| bool | mlir::linalg::isaElemwiseSingleBinaryOpInterface (GenericOp genericOp) |
| Checks whether genericOp is semantically equivalent to a single linalg elementwise binary op e.g. | |
| std::optional< Value > | mlir::linalg::isaFillOpInterface (GenericOp genericOp) |
| Checks whether genericOp is semantically equivalent to a linalg.fill. | |
| bool | mlir::linalg::detail::isContractionBody (Block &block, function_ref< bool(Operation *, Operation *)> isaPair, llvm::raw_ostream &errs=mlir::thread_safe_nulls()) |
| Returns true if the block contains a contraction of the following form: | |
| MatchContractionResult | mlir::linalg::detail::isContractionInterfaceImpl (Operation *op, ContractionDimensions *dimensions=nullptr) |
| Checks whether op conforms to ContractionOpInterface and populates dimensions with indexes of the different kinds of dimensions when present. | |
| StringRef | mlir::linalg::detail::getMatchContractionMessage (MatchContractionResult res) |
| Returns the error message corresponding to the contraction checking return code. | |
| MatchConvolutionResult | mlir::linalg::detail::isConvolutionInterfaceImpl (Operation *op, ConvolutionDimensions *dimensions=nullptr, bool allowEmptyConvolvedDims=false) |
| Checks whether op conforms to ConvolutionOpInterface and populates dimensions with indexes of the different kinds of dimensions when present. | |
| StringRef | mlir::linalg::detail::getMatchConvolutionMessage (MatchConvolutionResult res) |
| Returns the error message corresponding to the convolution checking return code. | |
| LogicalResult | mlir::linalg::detail::verifyContractionInterface (Operation *op) |
| Verify that op conforms to ContractionOpInterface. | |
| LogicalResult | mlir::linalg::detail::verifyConvolutionInterface (Operation *op) |
| Verify that op conforms to the ConvolutionOpInterface. | |
| LogicalResult | mlir::linalg::detail::verifyFillInterface (Operation *op) |
| Verify that op conforms to the FillOpInterface. | |
| LogicalResult | mlir::linalg::detail::verifyStructuredOpInterface (Operation *op) |
| Verify that op conforms to the invariants of StructuredOpInterface. | |