MLIR
20.0.0git
|
#include "mlir/Dialect/Utils/IndexingUtils.h"
#include "mlir/Dialect/Utils/StaticValueUtils.h"
#include "mlir/IR/AffineExpr.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/BuiltinAttributes.h"
#include "mlir/IR/MLIRContext.h"
#include "llvm/ADT/STLExtras.h"
#include <numeric>
#include <optional>
Go to the source code of this file.
Functions | |
template<typename ExprType > | |
SmallVector< ExprType > | computeSuffixProductImpl (ArrayRef< ExprType > sizes, ExprType unit) |
template<typename ExprType > | |
SmallVector< ExprType > | computeElementwiseMulImpl (ArrayRef< ExprType > v1, ArrayRef< ExprType > v2) |
template<typename ExprType > | |
ExprType | linearizeImpl (ArrayRef< ExprType > offsets, ArrayRef< ExprType > basis, ExprType zero) |
template<typename ExprType , typename DivOpTy > | |
SmallVector< ExprType > | delinearizeImpl (ExprType linearIndex, ArrayRef< ExprType > strides, DivOpTy divOp) |
static MLIRContext * | getContext (OpFoldResult val) |
static SmallVector< int64_t > | padTileShapeToSize (ArrayRef< int64_t > tileShape, unsigned paddedSize) |
Apply left-padding by 1 to the tile shape if required. More... | |
SmallVector<ExprType> computeElementwiseMulImpl | ( | ArrayRef< ExprType > | v1, |
ArrayRef< ExprType > | v2 | ||
) |
Definition at line 33 of file IndexingUtils.cpp.
Referenced by mlir::computeElementwiseMul().
SmallVector<ExprType> computeSuffixProductImpl | ( | ArrayRef< ExprType > | sizes, |
ExprType | unit | ||
) |
Definition at line 22 of file IndexingUtils.cpp.
Referenced by mlir::computeSuffixProduct().
SmallVector<ExprType> delinearizeImpl | ( | ExprType | linearIndex, |
ArrayRef< ExprType > | strides, | ||
DivOpTy | divOp | ||
) |
Definition at line 55 of file IndexingUtils.cpp.
Referenced by mlir::delinearize().
|
static |
Definition at line 295 of file IndexingUtils.cpp.
Referenced by mlir::arm_sme::allocateSMETiles(), mlir::computeLinearIndex(), mlir::affine::computeSliceUnion(), mlir::PassManager::enableCrashReproducerGeneration(), mlir::spirv::ImageType::get(), mlir::sparse_tensor::SparseTensorType::getCOOType(), mlir::dataflow::CFGEdge::getLoc(), mlir::LLVM::LLVMStructType::getSubelementIndexMap(), mlir::getSymbolLessAffineMaps(), mlir::IntegerSet::isEmptyIntegerSet(), mlir::AffineExpr::isFunctionOfDim(), mlir::AffineExpr::isFunctionOfSymbol(), mlirAffineExprGetContext(), mlirAffineMapGetContext(), mlirAttributeGetContext(), mlirDialectGetContext(), mlirIdentifierGetContext(), mlirIntegerSetGetContext(), mlirLocationGetContext(), mlirModuleGetContext(), mlirRewriterBaseGetContext(), mlirTypeGetContext(), mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits >::mutate(), mlir::detail::Parser::parseExtendedType(), mlir::SymbolTable::rename(), mlir::detail::OpToOpPassAdaptor::runOnOperation(), mlir::FloatType::scaleElementBitwidth(), mlir::AffineExpr::shiftDims(), and mlir::AffineExpr::shiftSymbols().
ExprType linearizeImpl | ( | ArrayRef< ExprType > | offsets, |
ArrayRef< ExprType > | basis, | ||
ExprType | zero | ||
) |
Definition at line 45 of file IndexingUtils.cpp.
Referenced by mlir::linearize().
|
static |
Apply left-padding by 1 to the tile shape if required.
Definition at line 347 of file IndexingUtils.cpp.