16 #define GEN_PASS_DEF_CONVERTVECTORTOARMSME
17 #include "mlir/Conversion/Passes.h.inc"
24 struct ConvertVectorToArmSMEPass
25 :
public impl::ConvertVectorToArmSMEBase<ConvertVectorToArmSMEPass> {
27 void runOnOperation()
override;
31 void ConvertVectorToArmSMEPass::runOnOperation() {
39 return std::make_unique<ConvertVectorToArmSMEPass>();
static MLIRContext * getContext(OpFoldResult val)
Include the generated interface declarations.
std::unique_ptr< Pass > createConvertVectorToArmSMEPass()
Create a pass to lower operations from the vector dialect to Arm SME.
LogicalResult applyPatternsAndFoldGreedily(Region ®ion, const FrozenRewritePatternSet &patterns, GreedyRewriteConfig config=GreedyRewriteConfig(), bool *changed=nullptr)
Rewrite ops in the given region, which must be isolated from above, by repeatedly applying the highes...
void populateVectorToArmSMEPatterns(RewritePatternSet &patterns, MLIRContext &ctx)
Collect a set of patterns to lower Vector ops to ArmSME ops that map to LLVM intrinsics.