MLIR 22.0.0git
AffineCanonicalizationUtils.h File Reference

Go to the source code of this file.

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::affine
namespace  mlir::scf

Typedefs

using mlir::scf::LoopMatcherFn
 Match "for loop"-like operations: If the first parameter is an iteration variable, return lower/upper bounds via the second/third parameter and the step size via the last parameter.

Functions

LogicalResult mlir::scf::matchForLikeLoop (Value iv, OpFoldResult &lb, OpFoldResult &ub, OpFoldResult &step)
 Match "for loop"-like operations from the SCF dialect.
LogicalResult mlir::scf::addLoopRangeConstraints (affine::FlatAffineValueConstraints &cstr, Value iv, OpFoldResult lb, OpFoldResult ub, OpFoldResult step)
 Populate the given constraint set with induction variable constraints of a "for" loop with the given range and step.
LogicalResult mlir::scf::canonicalizeMinMaxOpInLoop (RewriterBase &rewriter, Operation *op, LoopMatcherFn loopMatcher)
 Try to canonicalize the given affine.min/max operation in the context of for loops with a known range.
LogicalResult mlir::scf::rewritePeeledMinMaxOp (RewriterBase &rewriter, Operation *op, Value iv, Value ub, Value step, bool insideLoop)
 Try to simplify the given affine.min/max operation op after loop peeling.