|
MLIR 23.0.0git
|
#include "mlir/Dialect/Affine/IR/AffineOps.h"#include "mlir/Dialect/Utils/IndexingUtils.h"#include "mlir/Dialect/Vector/Transforms/LoweringPatterns.h"#include "mlir/Dialect/Vector/Transforms/VectorTransforms.h"#include "mlir/Interfaces/VectorInterfaces.h"#include "llvm/ADT/MapVector.h"#include "llvm/ADT/STLExtras.h"#include "llvm/Support/DebugLog.h"#include "llvm/Support/InterleavedRange.h"#include <optional>Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "vector-unroll" |
Functions | |
| static SmallVector< Value > | sliceLoadStoreIndices (PatternRewriter &rewriter, Location loc, OperandRange originalIndices, ArrayRef< int64_t > offsets) |
| static Operation * | cloneOpWithOperandsAndTypes (OpBuilder &builder, Location loc, Operation *op, ArrayRef< Value > operands, ArrayRef< Type > resultTypes) |
| static std::optional< SmallVector< int64_t > > | getTargetShape (const vector::UnrollVectorOptions &options, Operation *op) |
| Return the target shape for unrolling for the given op. | |
| static SmallVector< int64_t > | getUnrollOrder (unsigned numLoops, Operation *op, const vector::UnrollVectorOptions &options) |
| #define DEBUG_TYPE "vector-unroll" |
Definition at line 24 of file VectorUnroll.cpp.
|
static |
Definition at line 78 of file VectorUnroll.cpp.
References mlir::OpBuilder::create(), mlir::Operation::getAttrs(), mlir::OperationName::getIdentifier(), and mlir::Operation::getName().
|
static |
Return the target shape for unrolling for the given op.
Return std::nullopt if the op shouldn't be or cannot be unrolled.
Definition at line 89 of file VectorUnroll.cpp.
References mlir::computeShapeRatio(), mlir::Operation::getName(), mlir::OperationName::getStringRef(), and options.
|
static |
Definition at line 131 of file VectorUnroll.cpp.
References options.
|
static |
Definition at line 57 of file VectorUnroll.cpp.
References mlir::arith::ConstantIndexOp::create(), and indices.