My Project
Public Types | Public Member Functions | List of all members
mlir::AffineBinaryOpExpr Class Reference

#include <AffineExpr.h>

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

Public Types

using ImplType = detail::AffineBinaryOpExprStorage
 
- Public Types inherited from mlir::AffineExpr
using ImplType = detail::AffineExprStorage
 

Public Member Functions

 AffineBinaryOpExpr (AffineExpr::ImplType *ptr)
 
AffineExpr getLHS () const
 
AffineExpr getRHS () const
 
- Public Member Functions inherited from mlir::AffineExpr
 AffineExpr ()
 
 AffineExpr (const ImplType *expr)
 
 AffineExpr (const AffineExpr &other)
 
AffineExproperator= (AffineExpr other)
 
bool operator== (AffineExpr other) const
 
bool operator!= (AffineExpr other) const
 
bool operator== (int64_t v) const
 
bool operator!= (int64_t v) const
 
 operator bool () const
 
bool operator! () const
 
template<typename U >
bool isa () const
 
template<typename U >
dyn_cast () const
 
template<typename U >
dyn_cast_or_null () const
 
template<typename U >
cast () const
 
MLIRContextgetContext () const
 
AffineExprKind getKind () const
 Return the classification for this type. More...
 
void print (raw_ostream &os) const
 
void dump () const
 
bool isSymbolicOrConstant () const
 
bool isPureAffine () const
 
int64_t getLargestKnownDivisor () const
 
bool isMultipleOf (int64_t factor) const
 Return true if the affine expression is a multiple of 'factor'. More...
 
bool isFunctionOfDim (unsigned position) const
 Return true if the affine expression involves AffineDimExpr position. More...
 
void walk (std::function< void(AffineExpr)> callback) const
 Walk all of the AffineExpr's in this expression in postorder. More...
 
AffineExpr replaceDimsAndSymbols (ArrayRef< AffineExpr > dimReplacements, ArrayRef< AffineExpr > symReplacements) const
 
AffineExpr operator+ (int64_t v) const
 
AffineExpr operator+ (AffineExpr other) const
 
AffineExpr operator- () const
 
AffineExpr operator- (int64_t v) const
 
AffineExpr operator- (AffineExpr other) const
 
AffineExpr operator* (int64_t v) const
 
AffineExpr operator* (AffineExpr other) const
 
AffineExpr floorDiv (uint64_t v) const
 
AffineExpr floorDiv (AffineExpr other) const
 
AffineExpr ceilDiv (uint64_t v) const
 
AffineExpr ceilDiv (AffineExpr other) const
 
AffineExpr operator% (uint64_t v) const
 
AffineExpr operator% (AffineExpr other) const
 
AffineExpr compose (AffineMap map) const
 

Additional Inherited Members

- Protected Attributes inherited from mlir::AffineExpr
ImplTypeexpr
 

Detailed Description

Affine binary operation expression. An affine binary operation could be an add, mul, floordiv, ceildiv, or a modulo operation. (Subtraction is represented through a multiply by -1 and add.) These expressions are always constructed in a simplified form. For eg., the LHS and RHS operands can't both be constants. There are additional canonicalizing rules depending on the op type: see checks in the constructor.

Member Typedef Documentation

◆ ImplType

Constructor & Destructor Documentation

◆ AffineBinaryOpExpr()

AffineBinaryOpExpr::AffineBinaryOpExpr ( AffineExpr::ImplType ptr)

Member Function Documentation

◆ getLHS()

AffineExpr AffineBinaryOpExpr::getLHS ( ) const

◆ getRHS()

AffineExpr AffineBinaryOpExpr::getRHS ( ) const

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