MLIR 22.0.0git
SimplifyAffineMinMax.cpp File Reference
#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

class  mlir::affine::impl::SimplifyAffineMinMaxPassBase< DerivedT >
struct  SimplifyAffineMinMaxPass
 Creates a simplification pass for affine min/max/apply. More...

Namespaces

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

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.
std::unique_ptr<::mlir::Passmlir::affine::impl::createSimplifyAffineMinMaxPass ()
std::unique_ptr<::mlir::Passmlir::affine::createSimplifyAffineMinMaxPass ()

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "affine-min-max"

Definition at line 25 of file SimplifyAffineMinMax.cpp.

◆ GEN_PASS_DEF_SIMPLIFYAFFINEMINMAXPASS

#define GEN_PASS_DEF_SIMPLIFYAFFINEMINMAXPASS

Definition at line 229 of file SimplifyAffineMinMax.cpp.

Function Documentation

◆ simplifyAffineMinMaxOp()

template<typename AffineOp>
bool simplifyAffineMinMaxOp ( RewriterBase & rewriter,
AffineOp affineOp )
static