|
void | mlir::affine::getSupportedReductions (AffineForOp forOp, SmallVectorImpl< LoopReduction > &supportedReductions) |
| Populate supportedReductions with descriptors of the supported reductions. More...
|
|
bool | mlir::affine::isLoopParallel (AffineForOp forOp, SmallVectorImpl< LoopReduction > *parallelReductions=nullptr) |
| Returns true if ‘forOp’ is a parallel loop. More...
|
|
bool | mlir::affine::isLoopMemoryParallel (AffineForOp forOp) |
| Returns true if ‘forOp’ doesn't have memory dependences preventing parallelization. More...
|
|
void | mlir::affine::getReachableAffineApplyOps (ArrayRef< Value > operands, SmallVectorImpl< Operation * > &affineApplyOps) |
| Returns in affineApplyOps , the sequence of those AffineApplyOp Operations that are reachable via a search starting from operands and ending at those operands that are not the result of an AffineApplyOp. More...
|
|
LogicalResult | mlir::affine::getIndexSet (MutableArrayRef< Operation * > ops, FlatAffineValueConstraints *domain) |
| Builds a system of constraints with dimensional variables corresponding to the loop IVs of the forOps and AffineIfOp's operands appearing in that order. More...
|
|
DependenceResult | mlir::affine::checkMemrefAccessDependence (const MemRefAccess &srcAccess, const MemRefAccess &dstAccess, unsigned loopDepth, FlatAffineValueConstraints *dependenceConstraints=nullptr, SmallVector< DependenceComponent, 2 > *dependenceComponents=nullptr, bool allowRAR=false) |
|
bool | mlir::affine::hasDependence (DependenceResult result) |
| Utility function that returns true if the provided DependenceResult corresponds to a dependence result. More...
|
|
bool | mlir::affine::noDependence (DependenceResult result) |
| Returns true if the provided DependenceResult corresponds to the absence of a dependence. More...
|
|
void | mlir::affine::getDependenceComponents (AffineForOp forOp, unsigned maxLoopDepth, std::vector< SmallVector< DependenceComponent, 2 >> *depCompsVec) |
| Returns in 'depCompsVec', dependence components for dependences between all load and store ops in loop nest rooted at 'forOp', at loop depths in range [1, maxLoopDepth]. More...
|
|