1d064c480SAlex Zinenko //===- TransformDialect.cpp - Transform Dialect Definition ----------------===//
2d064c480SAlex Zinenko //
3d064c480SAlex Zinenko // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4d064c480SAlex Zinenko // See https://llvm.org/LICENSE.txt for license information.
5d064c480SAlex Zinenko // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6d064c480SAlex Zinenko //
7d064c480SAlex Zinenko //===----------------------------------------------------------------------===//
8d064c480SAlex Zinenko 
9d064c480SAlex Zinenko #include "mlir/Dialect/Transform/IR/TransformDialect.h"
10*eda6f907SRiver Riddle #include "mlir/Dialect/PDL/IR/PDL.h"
11*eda6f907SRiver Riddle #include "mlir/Dialect/PDLInterp/IR/PDLInterp.h"
120eb403adSAlex Zinenko #include "mlir/Dialect/Transform/IR/TransformOps.h"
13d064c480SAlex Zinenko 
14d064c480SAlex Zinenko using namespace mlir;
15d064c480SAlex Zinenko 
160eb403adSAlex Zinenko #include "mlir/Dialect/Transform/IR/TransformDialect.cpp.inc"
170eb403adSAlex Zinenko 
initialize()180eb403adSAlex Zinenko void transform::TransformDialect::initialize() {
1940a8bd63SAlex Zinenko   // Using the checked version to enable the same assertions as for the ops from
2040a8bd63SAlex Zinenko   // extensions.
2140a8bd63SAlex Zinenko   addOperationsChecked<
220eb403adSAlex Zinenko #define GET_OP_LIST
230eb403adSAlex Zinenko #include "mlir/Dialect/Transform/IR/TransformOps.cpp.inc"
240eb403adSAlex Zinenko       >();
250eb403adSAlex Zinenko }
2630f22429SAlex Zinenko 
mergeInPDLMatchHooks(llvm::StringMap<PDLConstraintFunction> && constraintFns)2730f22429SAlex Zinenko void transform::TransformDialect::mergeInPDLMatchHooks(
2830f22429SAlex Zinenko     llvm::StringMap<PDLConstraintFunction> &&constraintFns) {
2930f22429SAlex Zinenko   // Steal the constraint functions form the given map.
3030f22429SAlex Zinenko   for (auto &it : constraintFns)
3130f22429SAlex Zinenko     pdlMatchHooks.registerConstraintFunction(it.getKey(), std::move(it.second));
3230f22429SAlex Zinenko }
3330f22429SAlex Zinenko 
3430f22429SAlex Zinenko const llvm::StringMap<PDLConstraintFunction> &
getPDLConstraintHooks() const3530f22429SAlex Zinenko transform::TransformDialect::getPDLConstraintHooks() const {
3630f22429SAlex Zinenko   return pdlMatchHooks.getConstraintFunctions();
3730f22429SAlex Zinenko }
38