My Project
|
#include <AffineStructures.h>
Public Member Functions | |
AffineValueMap () | |
AffineValueMap (AffineMap map, ArrayRef< Value > operands, ArrayRef< Value > results=llvm::None) | |
AffineValueMap (AffineApplyOp applyOp) | |
AffineValueMap (AffineBound bound) | |
~AffineValueMap () | |
void | reset (AffineMap map, ArrayRef< Value > operands, ArrayRef< Value > results=llvm::None) |
bool | isMultipleOf (unsigned idx, int64_t factor) const |
bool | isFunctionOf (unsigned idx, Value value) const |
Return true if the idx^th result depends on 'value', false otherwise. More... | |
bool | isConstant (unsigned idx) const |
bool | isIdentity () const |
Return true if this is an identity map. More... | |
void | setResult (unsigned i, AffineExpr e) |
AffineExpr | getResult (unsigned i) |
unsigned | getNumOperands () const |
unsigned | getNumDims () const |
unsigned | getNumSymbols () const |
unsigned | getNumResults () const |
Value | getOperand (unsigned i) const |
ArrayRef< Value > | getOperands () const |
AffineMap | getAffineMap () const |
Static Public Member Functions | |
static void | difference (const AffineValueMap &a, const AffineValueMap &b, AffineValueMap *res) |
An AffineValueMap is an affine map plus its ML value operands and results for analysis purposes. The structure is still a tree form that is same as that of an affine map or an AffineApplyOp. However, its operands, results, and its map can themselves change as a result of substitutions, simplifications, and other analysis.
|
inline |
AffineValueMap::AffineValueMap | ( | AffineMap | map, |
ArrayRef< Value > | operands, | ||
ArrayRef< Value > | results = llvm::None |
||
) |
|
explicit |
|
explicit |
AffineValueMap::~AffineValueMap | ( | ) |
|
static |
Return the value map that is the difference of value maps 'a' and 'b', represented as an affine map and its operands. The output map + operands are canonicalized and simplified.
AffineMap AffineValueMap::getAffineMap | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
Value AffineValueMap::getOperand | ( | unsigned | i | ) | const |
|
inline |
bool mlir::AffineValueMap::isConstant | ( | unsigned | idx | ) | const |
Return true if the result at 'idx' is a constant, false otherwise.
bool AffineValueMap::isFunctionOf | ( | unsigned | idx, |
Value | value | ||
) | const |
Return true if the idx^th result depends on 'value', false otherwise.
This method uses the invariant that operands are always positionally aligned with the AffineDimExpr in the underlying AffineMap.
bool mlir::AffineValueMap::isIdentity | ( | ) | const |
Return true if this is an identity map.
|
inline |
Return true if the idx^th result can be proved to be a multiple of 'factor', false otherwise.
void AffineValueMap::reset | ( | AffineMap | map, |
ArrayRef< Value > | operands, | ||
ArrayRef< Value > | results = llvm::None |
||
) |
|
inline |