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