| MLIR
    22.0.0git
    | 
#include "mlir/Dialect/Affine/Passes.h"#include "mlir/Dialect/Affine/IR/AffineOps.h"#include "mlir/Dialect/Affine/Transforms/Transforms.h"#include "mlir/IR/PatternMatch.h"#include "mlir/Interfaces/FunctionInterfaces.h"#include "mlir/Interfaces/ValueBoundsOpInterface.h"#include "mlir/Transforms/GreedyPatternRewriteDriver.h"#include "llvm/ADT/IntEqClasses.h"#include "llvm/Support/DebugLog.h"#include "llvm/Support/InterleavedRange.h"#include "mlir/Dialect/Affine/Passes.h.inc"Go to the source code of this file.
| Classes | |
| struct | SimplifyAffineMinMaxPass | 
| Creates a simplification pass for affine min/max/apply.  More... | |
| Namespaces | |
| mlir | |
| Include the generated interface declarations. | |
| mlir::affine | |
| Macros | |
| #define | DEBUG_TYPE "affine-min-max" | 
| #define | GEN_PASS_DEF_SIMPLIFYAFFINEMINMAXPASS | 
| Functions | |
| template<typename AffineOp > | |
| static bool | simplifyAffineMinMaxOp (RewriterBase &rewriter, AffineOp affineOp) | 
| Simplifies an affine min/max operation by proving there's a lower or upper bound.  More... | |
Definition at line 25 of file SimplifyAffineMinMax.cpp.
| #define GEN_PASS_DEF_SIMPLIFYAFFINEMINMAXPASS | 
Definition at line 229 of file SimplifyAffineMinMax.cpp.
| 
 | static | 
Simplifies an affine min/max operation by proving there's a lower or upper bound.
Definition at line 33 of file SimplifyAffineMinMax.cpp.
References mlir::detail::enumerate(), mlir::remark::failed(), mlir::AffineMap::get(), mlir::Builder::getContext(), mlir::AffineMap::getNumDims(), mlir::AffineMap::getNumResults(), mlir::AffineMap::getNumSymbols(), mlir::RewriterBase::modifyOpInPlace(), and mlir::ValueBoundsConstraintSet::strongCompare().
Referenced by mlir::affine::simplifyAffineMaxOp(), and mlir::affine::simplifyAffineMinOp().