MLIR 22.0.0git
FlattenMemRefs.cpp File Reference

Go to the source code of this file.

Classes

class  mlir::memref::impl::FlattenMemrefsPassBase< DerivedT >

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::memref
namespace  mlir::memref::impl

Macros

#define GEN_PASS_DEF_FLATTENMEMREFSPASS

Functions

std::unique_ptr<::mlir::Passmlir::memref::impl::createFlattenMemrefsPass ()
std::unique_ptr<::mlir::Passmlir::memref::createFlattenMemrefsPass ()
static Value getValueFromOpFoldResult (OpBuilder &rewriter, Location loc, OpFoldResult in)
static std::pair< Value, ValuegetFlattenMemrefAndOffset (OpBuilder &rewriter, Location loc, Value source, ValueRange indices)
 Returns a collapsed memref and the linearized index to access the element at the specified indices.
static bool needFlattening (Value val)
static bool checkLayout (Value val)

Macro Definition Documentation

◆ GEN_PASS_DEF_FLATTENMEMREFSPASS

#define GEN_PASS_DEF_FLATTENMEMREFSPASS

Definition at line 33 of file FlattenMemRefs.cpp.

Function Documentation

◆ checkLayout()

bool checkLayout ( Value val)
static

Definition at line 92 of file FlattenMemRefs.cpp.

References mlir::Value::getType().

◆ getFlattenMemrefAndOffset()

std::pair< Value, Value > getFlattenMemrefAndOffset ( OpBuilder & rewriter,
Location loc,
Value source,
ValueRange indices )
static

Returns a collapsed memref and the linearized index to access the element at the specified indices.

Definition at line 51 of file FlattenMemRefs.cpp.

References mlir::getAsOpFoldResult(), mlir::memref::getLinearizedMemRefOffsetAndSize(), mlir::Value::getType(), getValueFromOpFoldResult(), indices, and mlir::memref::LinearizedMemRefInfo::linearizedOffset.

◆ getValueFromOpFoldResult()

Value getValueFromOpFoldResult ( OpBuilder & rewriter,
Location loc,
OpFoldResult in )
static

Definition at line 40 of file FlattenMemRefs.cpp.

References mlir::arith::ConstantIndexOp::create().

Referenced by getFlattenMemrefAndOffset().

◆ needFlattening()

bool needFlattening ( Value val)
static

Definition at line 87 of file FlattenMemRefs.cpp.

References mlir::Value::getType().