MLIR 22.0.0git
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.
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.

References id, and op.

Member Function Documentation

◆ getLoadAndStoreMemrefSet()

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

Definition at line 149 of file Utils.cpp.

References getMemRef(), loads, and stores.

◆ getLoadOpCount()

unsigned Node::getLoadOpCount ( Value memref) const

Definition at line 78 of file Utils.cpp.

References mlir::hasEffect(), and loads.

◆ getLoadOpsForMemref()

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

Definition at line 139 of file Utils.cpp.

References getMemRef(), and loads.

◆ getStoreOpCount()

unsigned Node::getStoreOpCount ( Value memref) const

◆ getStoreOpsForMemref()

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

Definition at line 130 of file Utils.cpp.

References getMemRef(), and stores.

◆ hasFree()

unsigned Node::hasFree ( Value memref) const

◆ 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 109 of file Utils.cpp.

References mlir::hasEffect(), memrefStores, and stores.

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

Member Data Documentation

◆ id

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

◆ loads

◆ memrefFrees

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

Definition at line 81 of file Utils.h.

Referenced by mlir::affine::MemRefDependenceGraph::addToNode(), and hasFree().

◆ 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

◆ op

◆ privateMemrefs

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

Definition at line 83 of file Utils.h.

◆ stores


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