37 lines · cpp
1//===- LoopExtension.cpp - Loop extension for the Transform dialect -------===//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/Transform/LoopExtension/LoopExtension.h"10 11#include "mlir/Dialect/Transform/IR/TransformDialect.h"12#include "mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.h"13#include "mlir/IR/DialectRegistry.h"14 15using namespace mlir;16 17namespace {18/// Loop extension of the Transform dialect. This provides "core" transform19/// operations for loop-like ops.20class LoopExtension21 : public transform::TransformDialectExtension<LoopExtension> {22public:23 MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(LoopExtension)24 25 void init() {26 registerTransformOps<27#define GET_OP_LIST28#include "mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.cpp.inc"29 >();30 }31};32} // namespace33 34void mlir::transform::registerLoopExtension(DialectRegistry &dialectRegistry) {35 dialectRegistry.addExtensions<LoopExtension>();36}37