brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 6d1bc71 Raw
38 lines · cpp
1//===- VectorToArmSMEPass.cpp - Conversion from Vector to the ArmSME dialect =//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include "mlir/Conversion/VectorToArmSME/VectorToArmSME.h"10 11#include "mlir/Dialect/ArmSME/IR/ArmSME.h"12#include "mlir/Dialect/ArmSVE/IR/ArmSVEDialect.h"13#include "mlir/Pass/Pass.h"14#include "mlir/Transforms/GreedyPatternRewriteDriver.h"15 16namespace mlir {17#define GEN_PASS_DEF_CONVERTVECTORTOARMSMEPASS18#include "mlir/Conversion/Passes.h.inc"19} // namespace mlir20 21using namespace mlir;22using namespace mlir::vector;23 24namespace {25struct ConvertVectorToArmSMEPass26    : public impl::ConvertVectorToArmSMEPassBase<ConvertVectorToArmSMEPass> {27 28  void runOnOperation() override;29};30} // namespace31 32void ConvertVectorToArmSMEPass::runOnOperation() {33  RewritePatternSet patterns(&getContext());34  populateVectorToArmSMEPatterns(patterns, getContext());35 36  (void)applyPatternsGreedily(getOperation(), std::move(patterns));37}38