MLIR  15.0.0git
Classes | Namespaces | Functions
AffineStructures.h File Reference
#include "mlir/Analysis/Presburger/IntegerRelation.h"
#include "mlir/Analysis/Presburger/Matrix.h"
#include "mlir/IR/AffineExpr.h"
#include "mlir/IR/OpDefinition.h"
#include "mlir/Support/LogicalResult.h"
+ Include dependency graph for AffineStructures.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  mlir::FlatAffineValueConstraints
 FlatAffineValueConstraints represents an extension of IntegerPolyhedron where each non-local variable can have an SSA Value attached to it. More...
class  mlir::FlatAffineRelation
 A FlatAffineRelation represents a set of ordered pairs (domain -> range) where "domain" and "range" are tuples of variables. More...


 TODO: Remove this file when SCCP and integer range analysis have been ported to the new framework.


LogicalResult mlir::getFlattenedAffineExpr (AffineExpr expr, unsigned numDims, unsigned numSymbols, SmallVectorImpl< int64_t > *flattenedExpr, FlatAffineValueConstraints *cst=nullptr)
 Flattens 'expr' into 'flattenedExpr', which contains the coefficients of the dimensions, symbols, and additional variables that represent floor divisions of dimensions, symbols, and in turn other floor divisions. More...
LogicalResult mlir::getFlattenedAffineExprs (AffineMap map, std::vector< SmallVector< int64_t, 8 >> *flattenedExprs, FlatAffineValueConstraints *cst=nullptr)
 Flattens the result expressions of the map to their corresponding flattened forms and set in 'flattenedExprs'. More...
LogicalResult mlir::getFlattenedAffineExprs (IntegerSet set, std::vector< SmallVector< int64_t, 8 >> *flattenedExprs, FlatAffineValueConstraints *cst=nullptr)
AffineMap mlir::alignAffineMapWithValues (AffineMap map, ValueRange operands, ValueRange dims, ValueRange syms, SmallVector< Value > *newSyms=nullptr)
 Re-indexes the dimensions and symbols of an affine map with given operands values to align with dims and syms values. More...
LogicalResult mlir::getRelationFromMap (AffineMap &map, FlatAffineRelation &rel)
 Builds a relation from the given AffineMap/AffineValueMap map, containing all pairs of the form operands -> result that satisfy map. More...
LogicalResult mlir::getRelationFromMap (const AffineValueMap &map, FlatAffineRelation &rel)