My Project
Classes | Namespaces | Enumerations | Functions
AffineExpr.h File Reference
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/Support/Casting.h"
#include <type_traits>
Include dependency graph for AffineExpr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  mlir::AffineExpr
 
class  mlir::AffineBinaryOpExpr
 
class  mlir::AffineDimExpr
 A dimensional identifier appearing in an affine expression. More...
 
class  mlir::AffineSymbolExpr
 A symbolic identifier appearing in an affine expression. More...
 
class  mlir::AffineConstantExpr
 An integer constant appearing in affine expression. More...
 
struct  llvm::DenseMapInfo< mlir::AffineExpr >
 

Namespaces

 mlir
 
 mlir::detail
 Check if a Callable type can be invoked with the given set of arg types.
 
 llvm
 

Enumerations

enum  mlir::AffineExprKind {
  mlir::AffineExprKind::Add, mlir::AffineExprKind::Mul, mlir::AffineExprKind::Mod, mlir::AffineExprKind::FloorDiv,
  mlir::AffineExprKind::CeilDiv, mlir::AffineExprKind::LAST_AFFINE_BINARY_OP = CeilDiv, mlir::AffineExprKind::Constant, mlir::AffineExprKind::DimId,
  mlir::AffineExprKind::SymbolId
}
 

Functions

inline ::llvm::hash_code mlir::hash_value (AffineExpr arg)
 Make AffineExpr hashable. More...
 
AffineExpr mlir::operator+ (int64_t val, AffineExpr expr)
 
AffineExpr mlir::operator* (int64_t val, AffineExpr expr)
 
AffineExpr mlir::operator- (int64_t val, AffineExpr expr)
 
AffineExpr mlir::getAffineDimExpr (unsigned position, MLIRContext *context)
 These free functions allow clients of the API to not use classes in detail. More...
 
AffineExpr mlir::getAffineSymbolExpr (unsigned position, MLIRContext *context)
 
AffineExpr mlir::getAffineConstantExpr (int64_t constant, MLIRContext *context)
 
AffineExpr mlir::getAffineBinaryOpExpr (AffineExprKind kind, AffineExpr lhs, AffineExpr rhs)
 
AffineExpr mlir::toAffineExpr (ArrayRef< int64_t > eq, unsigned numDims, unsigned numSymbols, ArrayRef< AffineExpr > localExprs, MLIRContext *context)
 
raw_ostream & mlir::operator<< (raw_ostream &os, AffineExpr &expr)
 
AffineExpr mlir::simplifyAffineExpr (AffineExpr expr, unsigned numDims, unsigned numSymbols)
 Simplify the affine expression by flattening it and reconstructing it. More...
 
bool mlir::getFlattenedAffineExpr (AffineExpr expr, unsigned numDims, unsigned numSymbols, SmallVectorImpl< int64_t > *flattenedExpr)
 
bool mlir::getFlattenedAffineExprs (AffineMap map, std::vector< SmallVector< int64_t, 8 >> *flattenedExprs)
 
bool mlir::getFlattenedAffineExprs (IntegerSet set, std::vector< SmallVector< int64_t, 8 >> *flattenedExprs)
 
template<int N>
void mlir::detail::bindDims (MLIRContext *ctx)
 
template<int N, typename AffineExprTy , typename... AffineExprTy2>
void mlir::detail::bindDims (MLIRContext *ctx, AffineExprTy &e, AffineExprTy2 &... exprs)
 
template<typename... AffineExprTy>
void mlir::bindDims (MLIRContext *ctx, AffineExprTy &... exprs)