MLIR  19.0.0git
Namespaces | Functions | Variables
Utils.h File Reference
#include "mlir/Dialect/ArmSME/IR/ArmSMEEnums.h"
#include "mlir/Dialect/ArmSME/IR/ArmSMEOpInterfaces.h"
#include "mlir/Dialect/SCF/IR/SCF.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/Interfaces/FunctionInterfaces.h"
#include <optional>

Go to the source code of this file.


 Include the generated interface declarations.


unsigned mlir::arm_sme::getSMETileSliceMinNumElts (Type type)
 Return minimum number of elements for the given element type in a vector of SVL bits. More...
bool mlir::arm_sme::isValidSMETileElementType (Type type)
 Returns true if type is a valid element type for an SME tile or false otherwise. More...
bool mlir::arm_sme::isValidSMETileVectorType (VectorType vType)
 Returns true if vType is a valid vector type for an SME tile or false otherwise. More...
bool mlir::arm_sme::isValidSMETileVectorType (Type type)
std::optional< ArmSMETileType > mlir::arm_sme::getSMETileType (VectorType)
 Returns the type of SME tile this vector type corresponds to, or none if the vector type does not fit within an SME tile. More...
LogicalResult mlir::arm_sme::verifyOperationHasValidTileId (Operation *)
 Verifies the tile ID (if set) on this tile operation is valid. More...
scf::ForOp mlir::arm_sme::createLoopOverTileSlices (PatternRewriter &rewriter, Location loc, Value initTile, std::function< Value(OpBuilder &, Location, Value, Value)> makeLoopBody)
 Generates a for loop over ZA tile slices where the induction variable is the tile slice index and each iteration yields a new tile. More...
bool mlir::arm_sme::isMultipleOfSMETileVectorType (VectorType vType)
 Returns true if vType is a multiple of an SME tile size. More...
VectorType mlir::arm_sme::getSMETileTypeForElement (Type elementType)
 Creates a vector type for the SME tile of elementType. More...
void mlir::arm_sme::eraseTriviallyDeadTileOps (IRRewriter &rewriter, FunctionOpInterface function)
 Erase trivially dead tile ops from a function. More...
bool mlir::arm_sme::isTriviallyCloneableTileOp (arm_sme::ArmSMETileOpInterface tileOp)
 Returns true if tileOp is trivially cloneable. More...
bool mlir::arm_sme::hasTileResult (arm_sme::ArmSMETileOpInterface tileOp)
 Returns true if tileOp produces a tile result. More...
OpOperand * mlir::arm_sme::getTileOpOperand (arm_sme::ArmSMETileOpInterface tileOp)
 Returns the tile OpOperand for this tileOp (or null). More...
bool mlir::arm_sme::isTileTypeGreaterOrEqual (ArmSMETileType typeA, ArmSMETileType typeB)
 Returns true typeA is >= (in terms of bytes) than typeB. More...


constexpr unsigned mlir::arm_sme::MinStreamingVectorLengthInBits = 128