MLIR
20.0.0git
|
A variable that can be added to the constraint set as a "column". More...
#include "mlir/Interfaces/ValueBoundsOpInterface.h"
Public Member Functions | |
Variable (OpFoldResult ofr) | |
Construct a variable for an index-typed attribute or SSA value. More... | |
Variable (Value indexValue) | |
Construct a variable for an index-typed SSA value. More... | |
Variable (Value shapedValue, int64_t dim) | |
Construct a variable for a dimension of a shaped value. More... | |
Variable (OpFoldResult ofr, std::optional< int64_t > dim) | |
Construct a variable for an index-typed attribute/SSA value or for a dimension of a shaped value. More... | |
Variable (AffineMap map, ArrayRef< Variable > mapOperands) | |
Construct a variable for a map and its operands. More... | |
Variable (AffineMap map, ArrayRef< Value > mapOperands) | |
MLIRContext * | getContext () const |
Friends | |
class | ValueBoundsConstraintSet |
A variable that can be added to the constraint set as a "column".
The value bounds infrastructure can compute bounds for variables and compare two variables.
Internally, a variable is represented as an affine map and operands.
Definition at line 120 of file ValueBoundsOpInterface.h.
ValueBoundsConstraintSet::Variable::Variable | ( | OpFoldResult | ofr | ) |
Construct a variable for an index-typed attribute or SSA value.
Definition at line 76 of file ValueBoundsOpInterface.cpp.
Referenced by Variable().
ValueBoundsConstraintSet::Variable::Variable | ( | Value | indexValue | ) |
Construct a variable for an index-typed SSA value.
Definition at line 79 of file ValueBoundsOpInterface.cpp.
ValueBoundsConstraintSet::Variable::Variable | ( | Value | shapedValue, |
int64_t | dim | ||
) |
Construct a variable for a dimension of a shaped value.
Definition at line 82 of file ValueBoundsOpInterface.cpp.
ValueBoundsConstraintSet::Variable::Variable | ( | OpFoldResult | ofr, |
std::optional< int64_t > | dim | ||
) |
Construct a variable for an index-typed attribute/SSA value or for a dimension of a shaped value.
A non-null dimension must be provided if and only if ofr
is a shaped value.
Definition at line 85 of file ValueBoundsOpInterface.cpp.
References mlir::AffineMap::get(), mlir::Builder::getAffineConstantExpr(), mlir::Builder::getAffineSymbolExpr(), mlir::getConstantIntValue(), mlir::OpFoldResult::getContext(), mlir::Value::getType(), and mlir::Type::isIndex().
Construct a variable for a map and its operands.
Definition at line 107 of file ValueBoundsOpInterface.cpp.
References mlir::detail::enumerate(), mlir::Builder::getAffineSymbolExpr(), mlir::AffineMap::getContext(), mlir::AffineMap::getNumDims(), mlir::AffineMap::getNumResults(), mlir::AffineMap::getNumSymbols(), mlir::AffineMap::replace(), and mlir::AffineMap::replaceDimsAndSymbols().
Definition at line 148 of file ValueBoundsOpInterface.cpp.
References Variable().
|
inline |
Definition at line 140 of file ValueBoundsOpInterface.h.
References mlir::AffineMap::getContext().
Referenced by mlir::ValueBoundsConstraintSet::compare(), mlir::ValueBoundsConstraintSet::computeBound(), and mlir::ValueBoundsConstraintSet::computeConstantBound().
|
friend |
Definition at line 143 of file ValueBoundsOpInterface.h.