MLIR 22.0.0git
Utils.h File Reference

Go to the source code of this file.

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::arm_sme

Functions

unsigned mlir::arm_sme::getSizeInBytes (TypeSize type)
 Return the size represented by arm_sme::TypeSize in bytes.
unsigned mlir::arm_sme::getSMETileSliceMinNumElts (Type type)
 Return minimum number of elements for the given element type in a vector of SVL bits.
bool mlir::arm_sme::isValidSMETileElementType (Type type)
 Returns true if type is a valid element type for an SME tile or false otherwise.
bool mlir::arm_sme::isValidSMETileVectorType (VectorType vType)
 Returns true if vType is a valid vector type for an SME tile or false otherwise.
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.
LogicalResult mlir::arm_sme::verifyOperationHasValidTileId (Operation *)
 Verifies the tile ID (if set) on this tile operation is valid.
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.
bool mlir::arm_sme::isMultipleOfSMETileVectorType (VectorType vType)
 Returns true if vType is a multiple of an SME tile size.
VectorType mlir::arm_sme::getSMETileTypeForElement (Type elementType)
 Creates a vector type for the SME tile of elementType.
void mlir::arm_sme::eraseTriviallyDeadTileOps (IRRewriter &rewriter, FunctionOpInterface function)
 Erase trivially dead tile ops from a function.
bool mlir::arm_sme::isTriviallyCloneableTileOp (arm_sme::ArmSMETileOpInterface tileOp)
 Returns true if tileOp is trivially cloneable.
bool mlir::arm_sme::hasTileResult (arm_sme::ArmSMETileOpInterface tileOp)
 Returns true if tileOp produces a tile result.
OpOperandmlir::arm_sme::getTileOpOperand (arm_sme::ArmSMETileOpInterface tileOp)
 Returns the tile OpOperand for this tileOp (or null).
bool mlir::arm_sme::isTileTypeGreaterOrEqual (ArmSMETileType typeA, ArmSMETileType typeB)
 Returns true typeA is >= (in terms of bytes) than typeB.

Variables

constexpr unsigned mlir::arm_sme::MinStreamingVectorLengthInBits = 128