9 #ifndef MLIR_DIALECT_ARMSME_TRANSFORMS_PASSES_H
10 #define MLIR_DIALECT_ARMSME_TRANSFORMS_PASSES_H
13 #include "mlir/Dialect/ArmSME/Transforms/PassesEnums.h.inc"
18 class RewritePatternSet;
25 #include "mlir/Dialect/ArmSME/Transforms/Passes.h.inc"
29 const ArmStreamingMode = ArmStreamingMode::Streaming,
30 const ArmZaMode = ArmZaMode::Disabled,
bool ifRequiredByOps =
false,
31 bool ifContainsScalableVectors =
false);
45 #define GEN_PASS_REGISTRATION
46 #include "mlir/Dialect/ArmSME/Transforms/Passes.h.inc"
std::unique_ptr< Pass > createOuterProductFusionPass()
Pass that fuses 'arm_sme.outerproduct' ops into 2-way or 4-way widening variants.
std::unique_ptr< Pass > createVectorLegalizationPass()
Pass that legalizes vectors so they can be lowered to ArmSME.
std::unique_ptr< Pass > createEnableArmStreamingPass(const ArmStreamingMode=ArmStreamingMode::Streaming, const ArmZaMode=ArmZaMode::Disabled, bool ifRequiredByOps=false, bool ifContainsScalableVectors=false)
Pass to enable Armv9 Streaming SVE mode.
Include the generated interface declarations.