MLIR 24.0.0git
X86TransformOps.cpp
Go to the documentation of this file.
1//===- X86TransformOps.cpp ------------------------------------------------===//
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
17
20
21using namespace mlir;
22using namespace mlir::x86;
23using namespace mlir::transform;
24
25void mlir::transform::ApplyVectorContractToFMAPatternsOp::populatePatterns(
26 RewritePatternSet &patterns) {
28}
29
30void mlir::transform::ApplyVectorContractToPackedTypeDotProductPatternsOp::
31 populatePatterns(RewritePatternSet &patterns) {
33}
34
35void mlir::transform::ApplyVectorContractBF16ToFMAPatternsOp::populatePatterns(
36 RewritePatternSet &patterns) {
38}
39
40void mlir::transform::ApplySinkVectorProducerOpsPatternsOp::populatePatterns(
41 RewritePatternSet &patterns) {
43}
44
45void mlir::transform::ApplyShuffleVectorFMAOpsPatternsOp::populatePatterns(
46 RewritePatternSet &patterns) {
48}
49
50void mlir::transform::ApplyVectorContractToAMXDotProductPatternsOp::
51 populatePatterns(RewritePatternSet &patterns) {
53}
54
55void mlir::transform::ApplyMoveAccumulatorForContractLoopPatternsOp::
56 populatePatterns(RewritePatternSet &patterns) {
58}
59
60void mlir::transform::ApplyVectorContractMultiLevelUnrollForAMXPatternsOp::
61 populatePatterns(RewritePatternSet &patterns) {
63}
64
65//===----------------------------------------------------------------------===//
66// Transform op registration
67//===----------------------------------------------------------------------===//
68
69namespace {
70class X86TransformDialectExtension
72 X86TransformDialectExtension> {
73public:
74 MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(X86TransformDialectExtension)
75
76 X86TransformDialectExtension() {
77 declareGeneratedDialect<x86::X86Dialect>();
78 declareGeneratedDialect<LLVM::LLVMDialect>();
79 registerTransformOps<
80#define GET_OP_LIST
81#include "mlir/Dialect/X86/TransformOps/X86TransformOps.cpp.inc"
82 >();
83 }
84};
85} // namespace
86
87#define GET_OP_CLASSES
88#include "mlir/Dialect/X86/TransformOps/X86TransformOps.cpp.inc"
89
91 registry.addExtensions<X86TransformDialectExtension>();
92}
#define MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(CLASS_NAME)
Definition TypeID.h:331
The DialectRegistry maps a dialect namespace to a constructor for the matching dialect.
void addExtensions()
Add the given extensions to the registry.
Base class for extensions of the Transform dialect that supports injecting operations into the Transf...
void registerTransformDialectExtension(DialectRegistry &registry)
void populateVectorContractMultiLevelUnrollForAMXPatterns(RewritePatternSet &patterns)
void populateVectorContractToPackedTypeDotProductPatterns(RewritePatternSet &patterns)
void populateSinkVectorProducerOpsPatterns(RewritePatternSet &patterns)
void populateVectorContractToAMXDotProductPatterns(RewritePatternSet &patterns)
void populateVectorContractBF16ToFMAPatterns(RewritePatternSet &patterns)
void populateShuffleVectorFMAOpsPatterns(RewritePatternSet &patterns)
void populateVectorContractToFMAPatterns(RewritePatternSet &patterns)
void populateMoveAccumulatorForContractLoopPatterns(RewritePatternSet &patterns)
Include the generated interface declarations.