MLIR  20.0.0git
Classes | Namespaces | Typedefs | Functions
MemRefUtils.h File Reference
#include "mlir/Dialect/MemRef/IR/MemRef.h"

Go to the source code of this file.

Classes

struct  mlir::memref::LinearizedMemRefInfo
 For a memref with offset, sizes and strides, returns the offset, size, and potentially the size padded at the front to use for the linearized memref. More...
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::memref
 

Typedefs

using mlir::MemrefValue = TypedValue< BaseMemRefType >
 A value with a memref type. More...
 

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...
 
void mlir::memref::eraseDeadAllocAndStores (RewriterBase &rewriter, Operation *parentOp)
 Track temporary allocations that are never read from. More...
 
SmallVector< OpFoldResult > mlir::memref::computeSuffixProductIRBlock (Location loc, OpBuilder &builder, ArrayRef< OpFoldResult > sizes)
 Given a set of sizes, return the suffix product. More...
 
SmallVector< OpFoldResult > mlir::memref::computeStridesIRBlock (Location loc, OpBuilder &builder, ArrayRef< OpFoldResult > sizes)
 
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...
 
bool mlir::memref::isSameViewOrTrivialAlias (MemrefValue a, MemrefValue b)
 Checks if two (memref) values are the same or statically known to alias the same region of memory. More...
 
MemrefValue mlir::memref::skipViewLikeOps (MemrefValue source)
 Walk up the source chain until we find an operation that is not a view of the source memref (i.e. More...