My Project
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
mlir::SimpleAffineExprFlattener Class Reference

#include <AffineExprVisitor.h>

Inheritance diagram for mlir::SimpleAffineExprFlattener:
Inheritance graph
[legend]
Collaboration diagram for mlir::SimpleAffineExprFlattener:
Collaboration graph
[legend]

Public Member Functions

 SimpleAffineExprFlattener (unsigned numDims, unsigned numSymbols)
 
virtual ~SimpleAffineExprFlattener ()=default
 
void visitMulExpr (AffineBinaryOpExpr expr)
 
void visitAddExpr (AffineBinaryOpExpr expr)
 
void visitDimExpr (AffineDimExpr expr)
 
void visitSymbolExpr (AffineSymbolExpr expr)
 
void visitConstantExpr (AffineConstantExpr expr)
 
void visitCeilDivExpr (AffineBinaryOpExpr expr)
 
void visitFloorDivExpr (AffineBinaryOpExpr expr)
 
void visitModExpr (AffineBinaryOpExpr expr)
 
- Public Member Functions inherited from mlir::AffineExprVisitor< SimpleAffineExprFlattener >
void walkPostOrder (AffineExpr expr)
 
void visit (AffineExpr expr)
 
void visitAffineBinaryOpExpr (AffineBinaryOpExpr expr)
 
void visitAddExpr (AffineBinaryOpExpr expr)
 
void visitMulExpr (AffineBinaryOpExpr expr)
 
void visitModExpr (AffineBinaryOpExpr expr)
 
void visitFloorDivExpr (AffineBinaryOpExpr expr)
 
void visitCeilDivExpr (AffineBinaryOpExpr expr)
 
void visitConstantExpr (AffineConstantExpr expr)
 
void visitDimExpr (AffineDimExpr expr)
 
void visitSymbolExpr (AffineSymbolExpr expr)
 

Public Attributes

std::vector< SmallVector< int64_t, 8 > > operandExprStack
 
unsigned numDims
 
unsigned numSymbols
 
unsigned numLocals
 
SmallVector< AffineExpr, 4 > localExprs
 

Protected Member Functions

virtual void addLocalFloorDivId (ArrayRef< int64_t > dividend, int64_t divisor, AffineExpr localExpr)
 

Constructor & Destructor Documentation

◆ SimpleAffineExprFlattener()

SimpleAffineExprFlattener::SimpleAffineExprFlattener ( unsigned  numDims,
unsigned  numSymbols 
)

◆ ~SimpleAffineExprFlattener()

virtual mlir::SimpleAffineExprFlattener::~SimpleAffineExprFlattener ( )
virtualdefault

Member Function Documentation

◆ addLocalFloorDivId()

void SimpleAffineExprFlattener::addLocalFloorDivId ( ArrayRef< int64_t >  dividend,
int64_t  divisor,
AffineExpr  localExpr 
)
protectedvirtual

◆ visitAddExpr()

void SimpleAffineExprFlattener::visitAddExpr ( AffineBinaryOpExpr  expr)

◆ visitCeilDivExpr()

void SimpleAffineExprFlattener::visitCeilDivExpr ( AffineBinaryOpExpr  expr)

◆ visitConstantExpr()

void SimpleAffineExprFlattener::visitConstantExpr ( AffineConstantExpr  expr)

◆ visitDimExpr()

void SimpleAffineExprFlattener::visitDimExpr ( AffineDimExpr  expr)

◆ visitFloorDivExpr()

void SimpleAffineExprFlattener::visitFloorDivExpr ( AffineBinaryOpExpr  expr)

◆ visitModExpr()

void SimpleAffineExprFlattener::visitModExpr ( AffineBinaryOpExpr  expr)

◆ visitMulExpr()

void SimpleAffineExprFlattener::visitMulExpr ( AffineBinaryOpExpr  expr)

◆ visitSymbolExpr()

void SimpleAffineExprFlattener::visitSymbolExpr ( AffineSymbolExpr  expr)

Member Data Documentation

◆ localExprs

SmallVector<AffineExpr, 4> mlir::SimpleAffineExprFlattener::localExprs

◆ numDims

unsigned mlir::SimpleAffineExprFlattener::numDims

◆ numLocals

unsigned mlir::SimpleAffineExprFlattener::numLocals

◆ numSymbols

unsigned mlir::SimpleAffineExprFlattener::numSymbols

◆ operandExprStack

std::vector<SmallVector<int64_t, 8> > mlir::SimpleAffineExprFlattener::operandExprStack

The documentation for this class was generated from the following files: