MLIR
20.0.0git
|
#include "mlir/Dialect/Linalg/Passes.h"
#include "mlir/Dialect/Linalg/IR/Linalg.h"
#include "mlir/Dialect/Linalg/Transforms/Transforms.h"
#include "mlir/Dialect/Linalg/Utils/Utils.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/TypeSwitch.h"
#include <optional>
#include "mlir/Dialect/Linalg/Passes.h.inc"
Go to the source code of this file.
Namespaces | |
mlir | |
Include the generated interface declarations. | |
Macros | |
#define | GEN_PASS_DEF_LINALGBLOCKPACKMATMUL |
Functions | |
static std::optional< int64_t > | getConstantRange (const Range &range) |
Return constant range span or nullopt, otherwise. More... | |
static bool | validateFullTilesOnDims (linalg::LinalgOp linalgOp, ArrayRef< OpFoldResult > tiles, ArrayRef< int64_t > dims) |
Return true if all dimensions are fully divisible by the respective tiles. More... | |
static FailureOr< PackTransposeResult > | transposePackedMatmul (RewriterBase &rewriter, linalg::LinalgOp linalgOp, tensor::PackOp packOp, AffineMap operandMap, ArrayRef< unsigned > blocksStartDimPos, bool transposeOuterBlocks, bool transposeInnerBlocks) |
Return failure or packed matmul with one of its operands transposed. More... | |
#define GEN_PASS_DEF_LINALGBLOCKPACKMATMUL |
Definition at line 22 of file BlockPackMatmul.cpp.
|
static |
Return constant range span or nullopt, otherwise.
Definition at line 30 of file BlockPackMatmul.cpp.
References mlir::getConstantIntValue(), mlir::Range::offset, mlir::Range::size, and mlir::Range::stride.
Referenced by validateFullTilesOnDims().
|
static |
Return failure or packed matmul with one of its operands transposed.
Definition at line 90 of file BlockPackMatmul.cpp.
References mlir::AffineMap::getDimPosition(), mlir::AffineMap::getNumDims(), mlir::AffineMap::getNumResults(), and mlir::linalg::packTranspose().
Referenced by mlir::linalg::blockPackMatmul().
|
static |
Return true if all dimensions are fully divisible by the respective tiles.
Definition at line 44 of file BlockPackMatmul.cpp.
References mlir::detail::enumerate(), mlir::getConstantIntValue(), getConstantRange(), and mlir::linalg::inferContractionDims().
Referenced by mlir::linalg::blockPackMatmul().