MLIR  16.0.0git
Classes | Namespaces | Functions
StaticValueUtils.h File Reference
#include "mlir/IR/OpDefinition.h"
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/SmallVector.h"
+ Include dependency graph for StaticValueUtils.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mlir::Range
 Represents a range (offset, size, and stride) where each element of the triple may be dynamic or static. More...
 

Namespaces

 mlir
 Include the generated interface declarations.
 

Functions

std::tuple< SmallVector< OpFoldResult >, SmallVector< OpFoldResult >, SmallVector< OpFoldResult > > mlir::getOffsetsSizesAndStrides (ArrayRef< Range > ranges)
 Given an array of Range values, return a tuple of (offset vector, sizes vector, and strides vector) formed by separating out the individual elements of each range. More...
 
void mlir::dispatchIndexOpFoldResult (OpFoldResult ofr, SmallVectorImpl< Value > &dynamicVec, SmallVectorImpl< int64_t > &staticVec, int64_t sentinel)
 Helper function to dispatch an OpFoldResult into staticVec if: a) it is an IntegerAttr In other cases, the OpFoldResult is dispached to the dynamicVec. More...
 
void mlir::dispatchIndexOpFoldResults (ArrayRef< OpFoldResult > ofrs, SmallVectorImpl< Value > &dynamicVec, SmallVectorImpl< int64_t > &staticVec, int64_t sentinel)
 Helper function to dispatch multiple OpFoldResults according to the behavior of dispatchIndexOpFoldResult(OpFoldResult ofr for a single OpFoldResult. More...
 
SmallVector< int64_t, 4 > mlir::extractFromI64ArrayAttr (Attribute attr)
 Extract int64_t values from the assumed ArrayAttr of IntegerAttr. More...
 
OpFoldResult mlir::getAsOpFoldResult (Value val)
 Given a value, try to extract a constant Attribute. More...
 
SmallVector< OpFoldResult > mlir::getAsOpFoldResult (ValueRange values)
 Given an array of values, try to extract a constant Attribute from each value. More...
 
SmallVector< OpFoldResult > mlir::getAsOpFoldResult (ArrayAttr arrayAttr)
 Convert arrayAttr to a vector of OpFoldResult. More...
 
Optional< int64_t > mlir::getConstantIntValue (OpFoldResult ofr)
 If ofr is a constant integer or an IntegerAttr, return the integer. More...
 
bool mlir::isConstantIntValue (OpFoldResult ofr, int64_t value)
 Return true if ofr is constant integer equal to value. More...
 
bool mlir::isEqualConstantIntOrValue (OpFoldResult ofr1, OpFoldResult ofr2)
 Return true if ofr1 and ofr2 are the same integer constant attribute values or the same SSA value. More...
 
SmallVector< Value > mlir::getAsValues (OpBuilder &b, Location loc, ArrayRef< OpFoldResult > valueOrAttrVec)
 Helper function to convert a vector of OpFoldResults into a vector of Values. More...
 
SmallVector< OpFoldResult > mlir::getMixedValues (ArrayRef< int64_t > staticValues, ValueRange dynamicValues, Builder &b)
 Return a vector of OpFoldResults with the same size a staticValues, but all elements for which ShapedType::isDynamic is true, will be replaced by dynamicValues. More...
 
std::pair< ArrayAttr, SmallVector< Value > > mlir::decomposeMixedValues (Builder &b, const SmallVectorImpl< OpFoldResult > &mixedValues)
 Decompose a vector of mixed static or dynamic values into the corresponding pair of arrays. More...