MLIR  15.0.0git
Classes | Namespaces | Functions
AffineMap.h File Reference
#include "mlir/IR/AffineExpr.h"
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMapInfo.h"
+ Include dependency graph for AffineMap.h:

Go to the source code of this file.

Classes

class  mlir::AffineMap
 A multi-dimensional affine map Affine map's are immutable like Type's, and they are uniqued. More...
 
struct  mlir::MutableAffineMap
 A mutable affine map. Its affine expressions are however unique. More...
 
struct  llvm::DenseMapInfo< mlir::AffineMap >
 

Namespaces

 llvm
 Explicitly register a set of "builtin" types.
 
 mlir
 Include the generated interface declarations.
 
 mlir::detail
 

Functions

inline ::llvm::hash_code mlir::hash_value (AffineMap arg)
 
AffineMap mlir::simplifyAffineMap (AffineMap map)
 Simplifies an affine map by simplifying its underlying AffineExpr results. More...
 
AffineMap mlir::compressUnusedDims (AffineMap map)
 Drop the dims that are not used. More...
 
SmallVector< AffineMapmlir::compressUnusedDims (ArrayRef< AffineMap > maps)
 Drop the dims that are not used by any of the individual maps in maps. More...
 
AffineMap mlir::compressDims (AffineMap map, const llvm::SmallBitVector &unusedDims)
 Drop the dims that are not listed in unusedDims. More...
 
AffineMap mlir::compressUnusedSymbols (AffineMap map)
 Drop the symbols that are not used. More...
 
SmallVector< AffineMapmlir::compressUnusedSymbols (ArrayRef< AffineMap > maps)
 Drop the symbols that are not used by any of the individual maps in maps. More...
 
AffineMap mlir::compressSymbols (AffineMap map, const llvm::SmallBitVector &unusedSymbols)
 Drop the symbols that are not listed in unusedSymbols. More...
 
AffineMap mlir::removeDuplicateExprs (AffineMap map)
 Returns a map with the same dimension and symbol count as map, but whose results are the unique affine expressions of map. More...
 
AffineMap mlir::inversePermutation (AffineMap map)
 Returns a map of codomain to domain dimensions such that the first codomain dimension for a particular domain dimension is selected. More...
 
AffineMap mlir::inverseAndBroadcastProjectedPermutation (AffineMap map)
 Return the reverse map of a projected permutation where the projected dimensions are transformed into 0s. More...
 
AffineMap mlir::concatAffineMaps (ArrayRef< AffineMap > maps)
 Concatenates a list of maps into a single AffineMap, stepping over potentially empty maps. More...
 
AffineMap mlir::getProjectedMap (AffineMap map, const llvm::SmallBitVector &projectedDimensions)
 Returns the map that results from projecting out the dimensions specified in projectedDimensions. More...
 
template<typename T >
SmallVector< T > mlir::applyPermutationMap (AffineMap map, llvm::ArrayRef< T > source)
 Apply a permutation from map to source and return the result. More...
 
template<typename AffineExprContainer >
static void mlir::getMaxDimAndSymbol (ArrayRef< AffineExprContainer > exprsList, int64_t &maxDim, int64_t &maxSym)
 Calculates maxmimum dimension and symbol positions from the expressions in exprsLists and stores them in maxDim and maxSym respectively. More...
 
raw_ostream & mlir::operator<< (raw_ostream &os, AffineMap map)