|
| bool | mlir::affine::isTopLevelValue (Value value) |
| | A utility function to check if a value is defined at the top level of an op with trait AffineScope or is a region argument for such an op. More...
|
| |
| bool | mlir::affine::isTopLevelValue (Value value, Region *region) |
| | A utility function to check if a value is defined at the top level of region or is an argument of region. More...
|
| |
| Region * | mlir::affine::getAffineScope (Operation *op) |
| | Returns the closest region enclosing op that is held by an operation with trait AffineScope; nullptr if there is no such region. More...
|
| |
| Region * | mlir::affine::getAffineAnalysisScope (Operation *op) |
| | Returns the closest region enclosing op that is held by a non-affine operation; nullptr if there is no such region. More...
|
| |
| OpFoldResult | mlir::affine::computeProduct (Location loc, OpBuilder &builder, ArrayRef< OpFoldResult > terms) |
| | Return the product of terms, creating an affine.apply if any of them are non-constant values. More...
|
| |
| bool | mlir::affine::isValidDim (Value value) |
| | Returns true if the given Value can be used as a dimension id in the region of the closest surrounding op that has the trait AffineScope. More...
|
| |
| bool | mlir::affine::isValidDim (Value value, Region *region) |
| | Returns true if the given Value can be used as a dimension id in region, i.e., for all its uses in region. More...
|
| |
| bool | mlir::affine::isValidSymbol (Value value) |
| | Returns true if the given value can be used as a symbol in the region of the closest surrounding op that has the trait AffineScope. More...
|
| |
| bool | mlir::affine::isValidSymbol (Value value, Region *region) |
| | Returns true if the given Value can be used as a symbol for region, i.e., for all its uses in region. More...
|
| |
| ParseResult | mlir::affine::parseDimAndSymbolList (OpAsmParser &parser, SmallVectorImpl< Value > &operands, unsigned &numDims) |
| | Parses dimension and symbol list. More...
|
| |
| void | mlir::affine::canonicalizeMapAndOperands (AffineMap *map, SmallVectorImpl< Value > *operands) |
| | Modifies both map and operands in-place so as to: More...
|
| |
| void | mlir::affine::canonicalizeSetAndOperands (IntegerSet *set, SmallVectorImpl< Value > *operands) |
| | Canonicalizes an integer set the same way canonicalizeMapAndOperands does for affine maps. More...
|
| |
| AffineApplyOp | mlir::affine::makeComposedAffineApply (OpBuilder &b, Location loc, AffineMap map, ArrayRef< OpFoldResult > operands, bool composeAffineMin=false) |
| | Returns a composed AffineApplyOp by composing map and operands with other AffineApplyOps supplying those operands. More...
|
| |
| AffineApplyOp | mlir::affine::makeComposedAffineApply (OpBuilder &b, Location loc, AffineExpr e, ArrayRef< OpFoldResult > operands, bool composeAffineMin=false) |
| |
| OpFoldResult | mlir::affine::makeComposedFoldedAffineApply (OpBuilder &b, Location loc, AffineMap map, ArrayRef< OpFoldResult > operands, bool composeAffineMin=false) |
| | Constructs an AffineApplyOp that applies map to operands after composing the map with the maps of any other AffineApplyOp supplying the operands, then immediately attempts to fold it. More...
|
| |
| OpFoldResult | mlir::affine::makeComposedFoldedAffineApply (OpBuilder &b, Location loc, AffineExpr expr, ArrayRef< OpFoldResult > operands, bool composeAffineMin=false) |
| | Variant of makeComposedFoldedAffineApply that applies to an expression. More...
|
| |
| SmallVector< OpFoldResult > | mlir::affine::makeComposedFoldedMultiResultAffineApply (OpBuilder &b, Location loc, AffineMap map, ArrayRef< OpFoldResult > operands, bool composeAffineMin=false) |
| | Variant of makeComposedFoldedAffineApply suitable for multi-result maps. More...
|
| |
| AffineMinOp | mlir::affine::makeComposedAffineMin (OpBuilder &b, Location loc, AffineMap map, ArrayRef< OpFoldResult > operands) |
| | Returns an AffineMinOp obtained by composing map and operands with AffineApplyOps supplying those operands. More...
|
| |
| OpFoldResult | mlir::affine::makeComposedFoldedAffineMin (OpBuilder &b, Location loc, AffineMap map, ArrayRef< OpFoldResult > operands) |
| | Constructs an AffineMinOp that computes a minimum across the results of applying map to operands, then immediately attempts to fold it. More...
|
| |
| OpFoldResult | mlir::affine::makeComposedFoldedAffineMax (OpBuilder &b, Location loc, AffineMap map, ArrayRef< OpFoldResult > operands) |
| | Constructs an AffineMinOp that computes a maximum across the results of applying map to operands, then immediately attempts to fold it. More...
|
| |
| void | mlir::affine::fullyComposeAffineMapAndOperands (AffineMap *map, SmallVectorImpl< Value > *operands, bool composeAffineMin=false) |
| | Given an affine map map and its input operands, this method composes into map, maps of AffineApplyOps whose results are the values in operands, iteratively until no more of operands are the result of an AffineApplyOp. More...
|
| |
| bool | mlir::affine::isAffineForInductionVar (Value val) |
| | Returns true if the provided value is the induction variable of an AffineForOp. More...
|
| |
| bool | mlir::affine::isAffineParallelInductionVar (Value val) |
| | Returns true if val is the induction variable of an AffineParallelOp. More...
|
| |
| bool | mlir::affine::isAffineInductionVar (Value val) |
| | Returns true if the provided value is the induction variable of an AffineForOp or AffineParallelOp. More...
|
| |
| AffineForOp | mlir::affine::getForInductionVarOwner (Value val) |
| | Returns the loop parent of an induction variable. More...
|
| |
| AffineParallelOp | mlir::affine::getAffineParallelInductionVarOwner (Value val) |
| | Returns true if the provided value is among the induction variables of an AffineParallelOp. More...
|
| |
| void | mlir::affine::extractForInductionVars (ArrayRef< AffineForOp > forInsts, SmallVectorImpl< Value > *ivs) |
| | Extracts the induction variables from a list of AffineForOps and places them in the output argument ivs. More...
|
| |
| void | mlir::affine::extractInductionVars (ArrayRef< Operation * > affineOps, SmallVectorImpl< Value > &ivs) |
| | Extracts the induction variables from a list of either AffineForOp or AffineParallelOp and places them in the output argument ivs. More...
|
| |
| void | mlir::affine::buildAffineLoopNest (OpBuilder &builder, Location loc, ArrayRef< int64_t > lbs, ArrayRef< int64_t > ubs, ArrayRef< int64_t > steps, function_ref< void(OpBuilder &, Location, ValueRange)> bodyBuilderFn=nullptr) |
| | Builds a perfect nest of affine.for loops, i.e., each loop except the innermost one contains only another loop and a terminator. More...
|
| |
| void | mlir::affine::buildAffineLoopNest (OpBuilder &builder, Location loc, ValueRange lbs, ValueRange ubs, ArrayRef< int64_t > steps, function_ref< void(OpBuilder &, Location, ValueRange)> bodyBuilderFn=nullptr) |
| |