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 and size 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)
 
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 are 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...