MLIR  21.0.0git
Public Member Functions | Public Attributes | List of all members
mlir::affine::MemRefDependenceGraph::Node Struct Reference

#include "mlir/Dialect/Affine/Analysis/Utils.h"

Public Member Functions

 Node (unsigned id, Operation *op)
 
unsigned getLoadOpCount (Value memref) const
 
unsigned getStoreOpCount (Value memref) const
 
unsigned hasStore (Value memref) const
 Returns true if there exists an operation with a write memory effect to memref in this node. More...
 
unsigned hasFree (Value memref) const
 
void getStoreOpsForMemref (Value memref, SmallVectorImpl< Operation * > *storeOps) const
 
void getLoadOpsForMemref (Value memref, SmallVectorImpl< Operation * > *loadOps) const
 
void getLoadAndStoreMemrefSet (DenseSet< Value > *loadAndStoreMemrefSet) const
 

Public Attributes

unsigned id
 
Operationop
 
SmallVector< Operation *, 4 > loads
 
SmallVector< Operation *, 4 > memrefLoads
 
SmallVector< Operation *, 4 > stores
 
SmallVector< Operation *, 4 > memrefStores
 
SmallVector< Operation *, 4 > memrefFrees
 
DenseSet< ValueprivateMemrefs
 

Detailed Description

Definition at line 67 of file Utils.h.

Constructor & Destructor Documentation

◆ Node()

mlir::affine::MemRefDependenceGraph::Node::Node ( unsigned  id,
Operation op 
)
inline

Definition at line 85 of file Utils.h.

Member Function Documentation

◆ getLoadAndStoreMemrefSet()

void Node::getLoadAndStoreMemrefSet ( DenseSet< Value > *  loadAndStoreMemrefSet) const

Definition at line 150 of file Utils.cpp.

◆ getLoadOpCount()

unsigned Node::getLoadOpCount ( Value  memref) const

Definition at line 79 of file Utils.cpp.

◆ getLoadOpsForMemref()

void Node::getLoadOpsForMemref ( Value  memref,
SmallVectorImpl< Operation * > *  loadOps 
) const

Definition at line 140 of file Utils.cpp.

◆ getStoreOpCount()

unsigned Node::getStoreOpCount ( Value  memref) const

◆ getStoreOpsForMemref()

void Node::getStoreOpsForMemref ( Value  memref,
SmallVectorImpl< Operation * > *  storeOps 
) const

Definition at line 131 of file Utils.cpp.

◆ hasFree()

unsigned Node::hasFree ( Value  memref) const

Definition at line 124 of file Utils.cpp.

Referenced by mlir::affine::MemRefDependenceGraph::init().

◆ hasStore()

unsigned Node::hasStore ( Value  memref) const

Returns true if there exists an operation with a write memory effect to memref in this node.

Definition at line 110 of file Utils.cpp.

Referenced by mlir::affine::MemRefDependenceGraph::init().

Member Data Documentation

◆ id

unsigned mlir::affine::MemRefDependenceGraph::Node::id

◆ loads

SmallVector<Operation *, 4> mlir::affine::MemRefDependenceGraph::Node::loads

◆ memrefFrees

SmallVector<Operation *, 4> mlir::affine::MemRefDependenceGraph::Node::memrefFrees

Definition at line 81 of file Utils.h.

Referenced by mlir::affine::MemRefDependenceGraph::addToNode().

◆ memrefLoads

SmallVector<Operation *, 4> mlir::affine::MemRefDependenceGraph::Node::memrefLoads

Definition at line 75 of file Utils.h.

Referenced by mlir::affine::MemRefDependenceGraph::addToNode().

◆ memrefStores

SmallVector<Operation *, 4> mlir::affine::MemRefDependenceGraph::Node::memrefStores

Definition at line 79 of file Utils.h.

Referenced by mlir::affine::MemRefDependenceGraph::addToNode().

◆ op

Operation* mlir::affine::MemRefDependenceGraph::Node::op

◆ privateMemrefs

DenseSet<Value> mlir::affine::MemRefDependenceGraph::Node::privateMemrefs

Definition at line 83 of file Utils.h.

◆ stores

SmallVector<Operation *, 4> mlir::affine::MemRefDependenceGraph::Node::stores

The documentation for this struct was generated from the following files: