MLIR 23.0.0git
VectorTransferSplitRewritePatterns.cpp File Reference
#include <optional>
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/Linalg/IR/Linalg.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Dialect/SCF/IR/SCF.h"
#include "mlir/Dialect/Utils/StructuredOpsUtils.h"
#include "llvm/ADT/SmallVectorExtras.h"
#include "mlir/Dialect/Vector/Transforms/VectorTransforms.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/Interfaces/VectorInterfaces.h"
#include "llvm/ADT/STLExtras.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "vector-transfer-split"

Functions

static Value createInBoundsCond (RewriterBase &b, VectorTransferOpInterface xferOp)
 Build the condition to ensure that a particular VectorTransferOpInterface is in-bounds.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "vector-transfer-split"

Definition at line 31 of file VectorTransferSplitRewritePatterns.cpp.

Function Documentation

◆ createInBoundsCond()

Value createInBoundsCond ( RewriterBase & b,
VectorTransferOpInterface xferOp )
static

Build the condition to ensure that a particular VectorTransferOpInterface is in-bounds.

Definition at line 38 of file VectorTransferSplitRewritePatterns.cpp.

References b, mlir::getConstantIntValue(), mlir::memref::getMixedSize(), mlir::getValueOrCreateConstantIndexOp(), and mlir::affine::makeComposedFoldedAffineApply().