MLIR 23.0.0git
DecomposeLinalgOps.cpp File Reference
#include "mlir/Dialect/Linalg/Transforms/Transforms.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Linalg/IR/Linalg.h"
#include "llvm/ADT/SmallVectorExtras.h"
#include <optional>

Go to the source code of this file.

Functions

static SmallVector< OpFoldResultgetGenericOpLoopRange (OpBuilder &b, GenericOp op)
 Helper method to compute the range of a generic op.
SmallVector< OpFoldResultpermuteValues (ArrayRef< OpFoldResult > values, AffineMap map)
 Helper method to permute the list of values based on the map.
static Value getZero (OpBuilder &b, Location loc, Type elementType)
 Get zero value for an element type.

Function Documentation

◆ getGenericOpLoopRange()

SmallVector< OpFoldResult > getGenericOpLoopRange ( OpBuilder & b,
GenericOp op )
static

Helper method to compute the range of a generic op.

Definition at line 106 of file DecomposeLinalgOps.cpp.

References b, and mlir::affine::makeComposedFoldedMultiResultAffineApply().

◆ getZero()

◆ permuteValues()

SmallVector< OpFoldResult > permuteValues ( ArrayRef< OpFoldResult > values,
AffineMap map )

Helper method to permute the list of values based on the map.

Definition at line 120 of file DecomposeLinalgOps.cpp.

References mlir::AffineMap::getResults(), and mlir::AffineMap::isPermutation().