MLIR 22.0.0git
Utils.h File Reference

Go to the source code of this file.

Classes

struct  mlir::affine::AffineValueExpr
struct  mlir::affine::AffineBuilder
 Helper struct to build simple AffineValueExprs with minimal type inference support. More...

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::func
namespace  mlir::memref
namespace  mlir::affine

Typedefs

using mlir::affine::ReductionLoopMap = DenseMap<Operation *, SmallVector<LoopReduction, 2>>

Functions

LogicalResult mlir::affine::affineParallelize (AffineForOp forOp, ArrayRef< LoopReduction > parallelReductions={}, AffineParallelOp *resOp=nullptr)
 Replaces a parallel affine.for op with a 1-d affine.parallel op.
template<typename EffectType, typename T>
bool mlir::affine::hasNoInterveningEffect (Operation *start, T memOp, llvm::function_ref< bool(Value, Value)> mayAlias)
 Hoists out affine.if/else to as high as possible, i.e., past all invariant affine.fors/parallel's.