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-exception
6//
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...PatternsOp
19//===----------------------------------------------------------------------===//
20
21void transform::ApplyArmSVELowerContractionPatternsOp::populatePatterns(
22 RewritePatternSet &patterns) {
23 mlir::populateLowerContractionToSVEI8MMPatternPatterns(patterns);
24}
25
26//===----------------------------------------------------------------------===//
27// Transform op registration
28//===----------------------------------------------------------------------===//
29
30namespace {
31class ArmSVEVectorTransformDialectExtension
32 : public transform::TransformDialectExtension<
33 ArmSVEVectorTransformDialectExtension> {
34public:
35 MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(
36 ArmSVEVectorTransformDialectExtension)
37
38 ArmSVEVectorTransformDialectExtension() {
39 declareGeneratedDialect<arm_sve::ArmSVEDialect>();
40 registerTransformOps<
41#define GET_OP_LIST
42#include "mlir/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.cpp.inc"
43 >();
44 }
45};
46} // namespace
47
48#define GET_OP_CLASSES
49#include "mlir/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.cpp.inc"
50
51void mlir::arm_sve::registerTransformDialectExtension(
52 DialectRegistry &registry) {
53 registry.addExtensions<ArmSVEVectorTransformDialectExtension>();
54}
55

source code of mlir/lib/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.cpp