MLIR
18.0.0git
|
Classes | |
class | ArmSMETypeConverter |
Enumerations | |
enum class | ArmStreaming { Default = 0 , Locally = 1 } |
Functions | |
std::unique_ptr< Pass > | createEnableArmStreamingPass (const ArmStreaming mode=ArmStreaming::Default, const bool enableZA=false) |
Pass to enable Armv9 Streaming SVE mode. More... | |
std::unique_ptr< Pass > | createTileAllocationPass () |
Pass that replaces 'arm_sme.get_tile_id' ops with actual tiles. More... | |
void | populateVectorTransferLoweringPatterns (LLVMTypeConverter &converter, RewritePatternSet &patterns) |
unsigned | getSMETileSliceMinNumElts (Type type) |
Return minimum number of elements for the given element type in a vector of SVL bits. More... | |
bool | isValidSMETileElementType (Type type) |
Returns true if type is a valid element type for an SME tile or false otherwise. More... | |
bool | isValidSMETileVectorType (VectorType vType) |
Returns true if vType is a valid vector type for an SME tile or false otherwise. More... | |
Value | castTileIDToI32 (Value tile, Location loc, RewriterBase &rewriter) |
Extends or truncates tile , which should be an arm_sme::GetTileID or arm_sme::CastVectorToTile op returning an 8/16/32/64/128-bit scalar integer, to an i32 that can be passed as the tile parameter to the SME intrinsics. More... | |
Variables | |
constexpr unsigned | MinStreamingVectorLengthInBits = 128 |
|
strong |
Value mlir::arm_sme::castTileIDToI32 | ( | Value | tile, |
Location | loc, | ||
RewriterBase & | rewriter | ||
) |
Extends or truncates tile
, which should be an arm_sme::GetTileID
or arm_sme::CastVectorToTile
op returning an 8/16/32/64/128-bit scalar integer, to an i32 that can be passed as the tile
parameter to the SME intrinsics.
Or returns tile
if already i32.
Definition at line 47 of file Utils.cpp.
References mlir::OpBuilder::create(), mlir::Builder::getI32Type(), and mlir::tile().
std::unique_ptr< Pass > mlir::arm_sme::createEnableArmStreamingPass | ( | const ArmStreaming | mode = ArmStreaming::Default , |
const bool | enableZA = false |
||
) |
Pass to enable Armv9 Streaming SVE mode.
Definition at line 90 of file EnableArmStreaming.cpp.
std::unique_ptr< Pass > mlir::arm_sme::createTileAllocationPass | ( | ) |
Pass that replaces 'arm_sme.get_tile_id' ops with actual tiles.
Definition at line 196 of file TileAllocation.cpp.
unsigned mlir::arm_sme::getSMETileSliceMinNumElts | ( | Type | type | ) |
Return minimum number of elements for the given element type
in a vector of SVL bits.
Definition at line 21 of file Utils.cpp.
References mlir::Type::getIntOrFloatBitWidth(), isValidSMETileElementType(), and MinStreamingVectorLengthInBits.
Referenced by getLoopOverTileSlices(), and isValidSMETileVectorType().
bool mlir::arm_sme::isValidSMETileElementType | ( | Type | type | ) |
Returns true if type
is a valid element type for an SME tile or false otherwise.
Definition at line 26 of file Utils.cpp.
References mlir::Type::isBF16(), mlir::Type::isF128(), mlir::Type::isF16(), mlir::Type::isF32(), mlir::Type::isF64(), and mlir::Type::isInteger().
Referenced by getSMETileSliceMinNumElts(), and isValidSMETileVectorType().
bool mlir::arm_sme::isValidSMETileVectorType | ( | VectorType | vType | ) |
Returns true if vType
is a valid vector type for an SME tile or false otherwise.
Definition at line 32 of file Utils.cpp.
References getSMETileSliceMinNumElts(), and isValidSMETileElementType().
void mlir::arm_sme::populateVectorTransferLoweringPatterns | ( | LLVMTypeConverter & | converter, |
RewritePatternSet & | patterns | ||
) |
Referenced by mlir::populateVectorToLLVMConversionPatterns().
|
constexpr |
Definition at line 23 of file Utils.h.
Referenced by getSMETileSliceMinNumElts().