60 lines · cpp
1//===- ArmSVEVectorTransformOps.cpp - Implementation transform ops -------===//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/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.h"10 11#include "mlir/Dialect/ArmSVE/IR/ArmSVEDialect.h"12#include "mlir/Dialect/ArmSVE/Transforms/Transforms.h"13#include "mlir/Dialect/Transform/IR/TransformDialect.h"14 15using namespace mlir;16 17//===----------------------------------------------------------------------===//18// Apply...PatternsOp19//===----------------------------------------------------------------------===//20 21void transform::ApplyArmSVELowerContractionToI8MMPatternsOp::populatePatterns(22 RewritePatternSet &patterns) {23 mlir::populateLowerContractionToSVEI8MMPatterns(patterns);24}25 26void transform::ApplyArmSVELowerContractionToBFMMLAPatternsOp::populatePatterns(27 RewritePatternSet &patterns) {28 mlir::populateLowerContractionToSVEBFMMLAPatterns(patterns);29}30 31//===----------------------------------------------------------------------===//32// Transform op registration33//===----------------------------------------------------------------------===//34 35namespace {36class ArmSVEVectorTransformDialectExtension37 : public transform::TransformDialectExtension<38 ArmSVEVectorTransformDialectExtension> {39public:40 MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(41 ArmSVEVectorTransformDialectExtension)42 43 ArmSVEVectorTransformDialectExtension() {44 declareGeneratedDialect<arm_sve::ArmSVEDialect>();45 registerTransformOps<46#define GET_OP_LIST47#include "mlir/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.cpp.inc"48 >();49 }50};51} // namespace52 53#define GET_OP_CLASSES54#include "mlir/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.cpp.inc"55 56void mlir::arm_sve::registerTransformDialectExtension(57 DialectRegistry ®istry) {58 registry.addExtensions<ArmSVEVectorTransformDialectExtension>();59}60