MLIR
17.0.0git
|
#include "mlir/IR/AffineExpr.h"
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/ADT/SmallBitVector.h"
#include <optional>
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 | |
Include the generated interface declarations. | |
mlir | |
Include the generated interface declarations. | |
mlir::detail | |
Detect if any of the given parameter types has a sub-element handler. | |
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< AffineMap > | mlir::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< AffineMap > | mlir::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) |
llvm::SmallBitVector | mlir::getUnusedDimsBitVector (ArrayRef< AffineMap > maps) |