MLIR  20.0.0git
Namespaces | Macros | Functions
NormalizeMemRefs.cpp File Reference
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#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/ADT/SmallSet.h"
#include "llvm/Support/Debug.h"
#include "mlir/Dialect/MemRef/Transforms/Passes.h.inc"

Go to the source code of this file.

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::memref
 

Macros

#define GEN_PASS_DEF_NORMALIZEMEMREFS
 
#define DEBUG_TYPE   "normalize-memrefs"
 

Functions

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. More...
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "normalize-memrefs"

Definition at line 29 of file NormalizeMemRefs.cpp.

◆ GEN_PASS_DEF_NORMALIZEMEMREFS

#define GEN_PASS_DEF_NORMALIZEMEMREFS

Definition at line 24 of file NormalizeMemRefs.cpp.

Function Documentation

◆ isMemRefNormalizable()

static 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 105 of file NormalizeMemRefs.cpp.

References mlir::Operation::hasTrait().