|
MLIR 22.0.0git
|
#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 |
| Operation * | op |
| SmallVector< Operation *, 4 > | loads |
| SmallVector< Operation *, 4 > | memrefLoads |
| SmallVector< Operation *, 4 > | stores |
| SmallVector< Operation *, 4 > | memrefStores |
| SmallVector< Operation *, 4 > | memrefFrees |
| DenseSet< Value > | privateMemrefs |
Definition at line 149 of file Utils.cpp.
References getMemRef(), loads, and stores.
Definition at line 78 of file Utils.cpp.
References mlir::hasEffect(), and loads.
| void Node::getLoadOpsForMemref | ( | Value | memref, |
| SmallVectorImpl< Operation * > * | loadOps ) const |
Definition at line 139 of file Utils.cpp.
References getMemRef(), and loads.
Definition at line 93 of file Utils.cpp.
References mlir::hasEffect(), memrefStores, and stores.
Referenced by mlir::affine::MemRefDependenceGraph::getIncomingMemRefAccesses().
| void Node::getStoreOpsForMemref | ( | Value | memref, |
| SmallVectorImpl< Operation * > * | storeOps ) const |
Definition at line 130 of file Utils.cpp.
References getMemRef(), and stores.
Definition at line 123 of file Utils.cpp.
References memrefFrees, and mlir::hasEffect< MemoryEffects::Free >().
Referenced by mlir::affine::MemRefDependenceGraph::init().
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().
| unsigned mlir::affine::MemRefDependenceGraph::Node::id |
Definition at line 69 of file Utils.h.
Referenced by mlir::affine::MemRefDependenceGraph::addNode(), mlir::affine::MemRefDependenceGraph::init(), and Node().
| SmallVector<Operation *, 4> mlir::affine::MemRefDependenceGraph::Node::loads |
Definition at line 73 of file Utils.h.
Referenced by mlir::affine::MemRefDependenceGraph::addToNode(), mlir::affine::MemRefDependenceGraph::clearNodeLoadAndStores(), getLoadAndStoreMemrefSet(), getLoadOpCount(), getLoadOpsForMemref(), and mlir::affine::MemRefDependenceGraph::init().
| SmallVector<Operation *, 4> mlir::affine::MemRefDependenceGraph::Node::memrefFrees |
Definition at line 81 of file Utils.h.
Referenced by mlir::affine::MemRefDependenceGraph::addToNode(), and hasFree().
| SmallVector<Operation *, 4> mlir::affine::MemRefDependenceGraph::Node::memrefLoads |
Definition at line 75 of file Utils.h.
Referenced by mlir::affine::MemRefDependenceGraph::addToNode().
| SmallVector<Operation *, 4> mlir::affine::MemRefDependenceGraph::Node::memrefStores |
Definition at line 79 of file Utils.h.
Referenced by mlir::affine::MemRefDependenceGraph::addToNode(), getStoreOpCount(), and hasStore().
| Operation* mlir::affine::MemRefDependenceGraph::Node::op |
Definition at line 71 of file Utils.h.
Referenced by canRemoveSrcNodeAfterFusion(), mlir::affine::MemRefDependenceGraph::getFusedLoopNestInsertionPoint(), mlir::affine::MemRefDependenceGraph::hasDependencePath(), mlir::affine::MemRefDependenceGraph::init(), Node(), and sinkSequentialLoops().
| SmallVector<Operation *, 4> mlir::affine::MemRefDependenceGraph::Node::stores |
Definition at line 77 of file Utils.h.
Referenced by mlir::affine::MemRefDependenceGraph::addToNode(), mlir::affine::MemRefDependenceGraph::clearNodeLoadAndStores(), getLoadAndStoreMemrefSet(), getStoreOpCount(), getStoreOpsForMemref(), hasStore(), mlir::affine::MemRefDependenceGraph::init(), and mlir::affine::MemRefDependenceGraph::writesToLiveInOrEscapingMemrefs().