CIRCT
20.0.0git
|
MemoryDependenceAnalysis traverses any AffineForOps in the FuncOp body and checks for affine memory access dependences. More...
#include <DependenceAnalysis.h>
Public Member Functions | |
MemoryDependenceAnalysis (Operation *funcOp) | |
MemoryDependenceAnalysis traverses any AffineForOps in the FuncOp body and checks for memory access dependences. More... | |
ArrayRef< MemoryDependence > | getDependences (Operation *) |
Returns the dependences, if any, that the given Operation depends on. More... | |
void | replaceOp (Operation *oldOp, Operation *newOp) |
Replaces the dependences, if any, from the oldOp to the newOp. More... | |
Private Attributes | |
MemoryDependenceResult | results |
MemoryDependenceAnalysis traverses any AffineForOps in the FuncOp body and checks for affine memory access dependences.
Non-affine memory dependences are currently not supported. Results are captured in a MemoryDependenceResult, and an API is exposed to query dependences of a given Operation. TODO(mikeurbach): consider upstreaming this to MLIR's AffineAnalysis.
Definition at line 67 of file DependenceAnalysis.h.
circt::analysis::MemoryDependenceAnalysis::MemoryDependenceAnalysis | ( | Operation * | op | ) |
MemoryDependenceAnalysis traverses any AffineForOps in the FuncOp body and checks for memory access dependences.
Results are captured in a MemoryDependenceResult, which can by queried by Operation.
Definition at line 133 of file DependenceAnalysis.cpp.
References checkMemrefDependence().
ArrayRef< MemoryDependence > circt::analysis::MemoryDependenceAnalysis::getDependences | ( | Operation * | op | ) |
Returns the dependences, if any, that the given Operation depends on.
Definition at line 155 of file DependenceAnalysis.cpp.
Referenced by circt::analysis::CyclicSchedulingAnalysis::analyzeForOp().
void circt::analysis::MemoryDependenceAnalysis::replaceOp | ( | Operation * | oldOp, |
Operation * | newOp | ||
) |
Replaces the dependences, if any, from the oldOp to the newOp.
Definition at line 160 of file DependenceAnalysis.cpp.
|
private |
Definition at line 79 of file DependenceAnalysis.h.