MLIR  19.0.0git
Namespaces | Typedefs | Functions
AffineCanonicalizationUtils.h File Reference
#include "mlir/Support/LLVM.h"
#include "mlir/Support/LogicalResult.h"

Go to the source code of this file.

Namespaces

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

Typedefs

using mlir::scf::LoopMatcherFn = function_ref< LogicalResult(Value, OpFoldResult &, OpFoldResult &, OpFoldResult &)>
 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. More...
 

Functions

LogicalResult mlir::scf::matchForLikeLoop (Value iv, OpFoldResult &lb, OpFoldResult &ub, OpFoldResult &step)
 Match "for loop"-like operations from the SCF dialect. More...
 
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. More...
 
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. More...
 
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. More...