MLIR
21.0.0git
|
#include "mlir/Dialect/Affine/LoopUtils.h"
#include "mlir/Dialect/Affine/Passes.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Affine/Transforms/Transforms.h"
#include "mlir/Dialect/Affine/Utils.h"
#include "mlir/Dialect/Arith/Utils/Utils.h"
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"
#include "mlir/Dialect/Affine/Passes.h.inc"
Go to the source code of this file.
Namespaces | |
mlir | |
Include the generated interface declarations. | |
mlir::affine | |
Macros | |
#define | GEN_PASS_DEF_AFFINEEXPANDINDEXOPS |
Functions | |
static SmallVector< Value > | computeStrides (Location loc, RewriterBase &rewriter, ValueRange dynamicBasis, ArrayRef< int64_t > staticBasis, bool knownNonNegative) |
Given a basis (in static and dynamic components), return the sequence of suffix products of the basis, including the product of the entire basis, which must not contain an outer bound. More... | |
#define GEN_PASS_DEF_AFFINEEXPANDINDEXOPS |
Definition at line 24 of file AffineExpandIndexOps.cpp.
|
static |
Given a basis (in static and dynamic components), return the sequence of suffix products of the basis, including the product of the entire basis, which must not contain an outer bound.
If excess dynamic values are provided, the values at the beginning will be ignored. This allows for dropping the outer bound without needing to manipulate the dynamic value array. knownPositive
indicases that the values being used to compute the strides are known to be non-negative.
Definition at line 41 of file AffineExpandIndexOps.cpp.
References mlir::OpBuilder::create(), and mlir::OpBuilder::createOrFold().
Referenced by foldDenseElementsAttrDestInsertOp(), foldDenseElementsAttrSrcExtractOp(), and foldExtractStridedSliceNonSplatConstant().