15 #ifndef MLIR_ANALYSIS_AFFINE_ANALYSIS_H 16 #define MLIR_ANALYSIS_AFFINE_ANALYSIS_H 19 #include "llvm/ADT/Optional.h" 20 #include "llvm/ADT/SmallVector.h" 27 class FlatAffineConstraints;
34 SmallVectorImpl<Operation *> &affineApplyOps);
42 LogicalResult
getIndexSet(MutableArrayRef<AffineForOp> forOps,
43 FlatAffineConstraints *domain);
114 bool allowRAR =
false);
126 AffineForOp forOp,
unsigned maxLoopDepth,
131 #endif // MLIR_ANALYSIS_AFFINE_ANALYSIS_H Definition: InferTypeOpInterface.cpp:20
void getDependenceComponents(AffineForOp forOp, unsigned maxLoopDepth, std::vector< SmallVector< DependenceComponent, 2 >> *depCompsVec)
Definition: AffineAnalysis.cpp:856
Definition: PassRegistry.cpp:413
Definition: Operation.h:27
bool operator==(const MemRefAccess &rhs) const
Definition: Utils.cpp:880
Optional< int64_t > lb
Definition: AffineAnalysis.h:85
void getAccessMap(AffineValueMap *accessMap) const
Definition: AffineAnalysis.cpp:662
Definition: AffineAnalysis.h:101
Definition: AffineStructures.h:229
bool operator!=(const MemRefAccess &rhs) const
Definition: AffineAnalysis.h:72
bool hasDependence(DependenceResult result)
Definition: AffineAnalysis.h:118
DependenceResult checkMemrefAccessDependence(const MemRefAccess &srcAccess, const MemRefAccess &dstAccess, unsigned loopDepth, FlatAffineConstraints *dependenceConstraints, SmallVector< DependenceComponent, 2 > *dependenceComponents, bool allowRAR=false)
Definition: AffineAnalysis.cpp:763
LogicalResult getIndexSet(MutableArrayRef< AffineForOp > forOps, FlatAffineConstraints *domain)
Definition: AffineAnalysis.cpp:91
enum mlir::DependenceResult::ResultEnum value
unsigned getRank() const
Definition: Utils.cpp:856
Definition: AffineAnalysis.h:105
SmallVector< Value, 4 > indices
Definition: AffineAnalysis.h:49
DependenceComponent()
Definition: AffineAnalysis.h:88
MemRefAccess(Operation *opInst)
Constructs a MemRefAccess from a load or store operation.
Definition: Utils.cpp:834
bool isStore() const
Definition: Utils.cpp:860
DependenceResult(ResultEnum v)
Definition: AffineAnalysis.h:107
Definition: AffineAnalysis.h:81
Definition: AffineAnalysis.h:103
Definition: AffineAnalysis.h:104
Optional< int64_t > ub
Definition: AffineAnalysis.h:87
Value memref
Definition: AffineAnalysis.h:47
Encapsulates a memref load or store access information.
Definition: AffineAnalysis.h:46
Definition: StandardTypes.h:63
Definition: AffineStructures.h:112
ResultEnum
Definition: AffineAnalysis.h:102
void getReachableAffineApplyOps(ArrayRef< Value > operands, SmallVectorImpl< Operation *> &affineApplyOps)
Definition: AffineAnalysis.cpp:41
Operation * op
Definition: AffineAnalysis.h:83
Operation * opInst
Definition: AffineAnalysis.h:48