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