MLIR  20.0.0git
Namespaces | Functions
MemRefUtils.cpp File Reference
#include "mlir/Dialect/MemRef/Utils/MemRefUtils.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Arith/Utils/Utils.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Dialect/Vector/IR/VectorOps.h"
#include "llvm/ADT/STLExtras.h"

Go to the source code of this file.

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::memref
 

Functions

bool mlir::memref::isStaticShapeAndContiguousRowMajor (MemRefType type)
 Returns true, if the memref type has static shapes and represents a contiguous chunk of memory. More...
 
std::pair< LinearizedMemRefInfo, OpFoldResult > mlir::memref::getLinearizedMemRefOffsetAndSize (OpBuilder &builder, Location loc, int srcBits, int dstBits, OpFoldResult offset, ArrayRef< OpFoldResult > sizes, ArrayRef< OpFoldResult > strides, ArrayRef< OpFoldResult > indices={})
 
LinearizedMemRefInfo mlir::memref::getLinearizedMemRefOffsetAndSize (OpBuilder &builder, Location loc, int srcBits, int dstBits, OpFoldResult offset, ArrayRef< OpFoldResult > sizes)
 For a memref with offset and sizes, returns the offset and size to use for the linearized memref, assuming that the strides are computed from a row-major ordering of the sizes;. More...
 
static bool mlir::memref::resultIsNotRead (Operation *op, std::vector< Operation * > &uses)
 Returns true if all the uses of op are not read/load. More...
 
void mlir::memref::eraseDeadAllocAndStores (RewriterBase &rewriter, Operation *parentOp)
 
static SmallVector< OpFoldResult > mlir::memref::computeSuffixProductIRBlockImpl (Location loc, OpBuilder &builder, ArrayRef< OpFoldResult > sizes, OpFoldResult unit)
 
SmallVector< OpFoldResult > mlir::memref::computeSuffixProductIRBlock (Location loc, OpBuilder &builder, ArrayRef< OpFoldResult > sizes)
 Given a set of sizes, return the suffix product. More...
 
MemrefValue mlir::memref::skipFullyAliasingOperations (MemrefValue source)
 Walk up the source chain until an operation that changes/defines the view of memory is found (i.e. More...
 
MemrefValue mlir::memref::skipSubViewsAndCasts (MemrefValue source)
 Walk up the source chain until something an op other than a memref.subview or memref.cast is found. More...