MLIR 22.0.0git
NormalizeMemRefs.cpp File Reference
#include "mlir/Dialect/Affine/Utils.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Dialect/MemRef/Transforms/Passes.h"
#include "llvm/Support/Debug.h"
#include "mlir/Dialect/MemRef/Transforms/Passes.h.inc"

Go to the source code of this file.

Classes

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

Namespaces

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

Macros

#define GEN_PASS_DEF_NORMALIZEMEMREFSPASS
#define DEBUG_TYPE   "normalize-memrefs"

Functions

std::unique_ptr<::mlir::Passmlir::memref::impl::createNormalizeMemRefsPass ()
std::unique_ptr<::mlir::Passmlir::memref::createNormalizeMemRefsPass ()
static bool isMemRefNormalizable (Value::user_range opUsers)
 Check whether all the uses of oldMemRef are either dereferencing uses or the op is of type : DeallocOp, CallOp or ReturnOp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "normalize-memrefs"

Definition at line 27 of file NormalizeMemRefs.cpp.

◆ GEN_PASS_DEF_NORMALIZEMEMREFSPASS

#define GEN_PASS_DEF_NORMALIZEMEMREFSPASS

Definition at line 22 of file NormalizeMemRefs.cpp.

Function Documentation

◆ isMemRefNormalizable()

bool isMemRefNormalizable ( Value::user_range opUsers)
static

Check whether all the uses of oldMemRef are either dereferencing uses or the op is of type : DeallocOp, CallOp or ReturnOp.

Only if these constraints are satisfied will the value become a candidate for replacement. TODO: Extend this for DimOps.

Definition at line 99 of file NormalizeMemRefs.cpp.

References mlir::Operation::hasTrait().