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

#include <SDBMExpr.h>

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

Public Types

using ImplType = detail::SDBMDiffExprStorage
 
- Public Types inherited from mlir::SDBMVaryingExpr
using ImplType = detail::SDBMExprStorage
 
- Public Types inherited from mlir::SDBMExpr
using ImplType = detail::SDBMExprStorage
 

Public Member Functions

SDBMDirectExpr getLHS () const
 
SDBMTermExpr getRHS () const
 
- Public Member Functions inherited from mlir::SDBMExpr
 SDBMExpr ()
 
 SDBMExpr (ImplType *expr)
 
 SDBMExpr (const SDBMExpr &)=default
 
SDBMExpr & operator= (const SDBMExpr &)=default
 
bool operator== (const SDBMExpr &other) const
 SDBM expressions can be compared straight-forwardly. More...
 
bool operator!= (const SDBMExpr &other) const
 
 operator bool () const
 
bool operator! () const
 
SDBMExpr operator- ()
 Negate the given SDBM expression. More...
 
void print (raw_ostream &os) const
 Prints the SDBM expression. More...
 
void dump () const
 
template<typename U >
bool isa () const
 LLVM-style casts. More...
 
template<typename U >
U dyn_cast () const
 
template<typename U >
U cast () const
 
::llvm::hash_code hash_value () const
 Support for LLVM hashing. More...
 
SDBMExprKind getKind () const
 Returns the kind of the SDBM expression. More...
 
MLIRContext * getContext () const
 Returns the MLIR context in which this expression lives. More...
 
SDBMDialect * getDialect () const
 Returns the SDBM dialect instance. More...
 
AffineExpr getAsAffineExpr () const
 

Static Public Member Functions

static SDBMDiffExpr get (SDBMDirectExpr lhs, SDBMTermExpr rhs)
 Obtain or create a difference expression unique'ed in the given context. More...
 
static bool isClassFor (const SDBMExpr &expr)
 
- Static Public Member Functions inherited from mlir::SDBMVaryingExpr
static bool isClassFor (const SDBMExpr &expr)
 
- Static Public Member Functions inherited from mlir::SDBMExpr
static Optional< SDBMExpr > tryConvertAffineExpr (AffineExpr affine)
 

Additional Inherited Members

- Protected Attributes inherited from mlir::SDBMExpr
ImplType * impl
 

Detailed Description

SDBM difference expression. LHS is a direct expression, i.e. it may be a sum of a term and a constant. RHS is a term expression. Thus the expression (t1 - t2 + C) with term expressions t1,t2 is represented as diff(sum(t1, C), t2) and it is possible to extract the constant factor without negating it.

Member Typedef Documentation

◆ ImplType

Member Function Documentation

◆ get()

SDBMDiffExpr SDBMDiffExpr::get ( SDBMDirectExpr  lhs,
SDBMTermExpr  rhs 
)
static

Obtain or create a difference expression unique'ed in the given context.

◆ getLHS()

SDBMDirectExpr SDBMDiffExpr::getLHS ( ) const

◆ getRHS()

SDBMTermExpr SDBMDiffExpr::getRHS ( ) const

◆ isClassFor()

static bool mlir::SDBMDiffExpr::isClassFor ( const SDBMExpr &  expr)
inlinestatic

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