MLIR
20.0.0git
|
#include "mlir/Dialect/Linalg/Transforms/Transforms.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Linalg/IR/Linalg.h"
#include <optional>
Go to the source code of this file.
Functions | |
static SmallVector< OpFoldResult > | getGenericOpLoopRange (OpBuilder &b, GenericOp op) |
Helper method to compute the range of a generic op. More... | |
SmallVector< OpFoldResult > | permuteValues (ArrayRef< OpFoldResult > values, AffineMap map) |
Helper method to permute the list of values based on the map . More... | |
static Value | getZero (OpBuilder &b, Location loc, Type elementType) |
Get zero value for an element type. More... | |
|
static |
Helper method to compute the range of a generic op.
Definition at line 105 of file DecomposeLinalgOps.cpp.
References mlir::affine::makeComposedFoldedMultiResultAffineApply(), and mlir::OpBuilder::setInsertionPoint().
Get zero value for an element type.
Definition at line 132 of file DecomposeLinalgOps.cpp.
References mlir::OpBuilder::create(), mlir::Type::isIndex(), and mlir::Type::isIntOrIndexOrFloat().
Referenced by calculateUnsignedOverflow(), castBoolToIntN(), castIntNToBool(), convertFPowIOp(), createInitialValueForReduceOp(), mlir::spirv::getOpenCLElementPtr(), mlir::spirv::getPushConstantValue(), mlir::spirv::getVulkanElementPtr(), inferDivURange(), mlir::intrange::inferRemS(), mlir::intrange::inferRemU(), CmpFIntToFPConst::matchAndRewrite(), MulExtendedFold< MulOp, IsSigned >::matchAndRewrite(), IAddCarryFold::matchAndRewrite(), UMulExtendedOpXOne::matchAndRewrite(), mlir::ConstantIntRanges::maxRange(), minMaxBy(), and minMaxValueForUnsignedInt().
SmallVector<OpFoldResult> permuteValues | ( | ArrayRef< OpFoldResult > | values, |
AffineMap | map | ||
) |
Helper method to permute the list of values
based on the map
.
Definition at line 119 of file DecomposeLinalgOps.cpp.
References mlir::detail::enumerate(), mlir::AffineMap::getResults(), and mlir::AffineMap::isPermutation().