Files
gps/tools/local/circt/include/mlir/CAPI/Rewrite.h
T
2026-07-12 11:01:51 +03:00

44 lines
1.9 KiB
C++

//===- Rewrite.h - C API Utils for Core MLIR classes ------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This file contains declarations of implementation details of the C API for
// rewrite patterns. This file should not be included from C++ code other than
// C API implementation nor from C code.
//
//===----------------------------------------------------------------------===//
#ifndef MLIR_CAPI_REWRITE_H
#define MLIR_CAPI_REWRITE_H
#include "mlir-c/Rewrite.h"
#include "mlir/CAPI/Wrap.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/Rewrite/FrozenRewritePatternSet.h"
#include "mlir/Transforms/DialectConversion.h"
DEFINE_C_API_PTR_METHODS(MlirRewriterBase, mlir::RewriterBase)
DEFINE_C_API_PTR_METHODS(MlirRewritePattern, const mlir::RewritePattern)
DEFINE_C_API_PTR_METHODS(MlirRewritePatternSet, mlir::RewritePatternSet)
DEFINE_C_API_PTR_METHODS(MlirFrozenRewritePatternSet,
mlir::FrozenRewritePatternSet)
DEFINE_C_API_PTR_METHODS(MlirPatternRewriter, mlir::PatternRewriter)
DEFINE_C_API_PTR_METHODS(MlirConversionTarget, mlir::ConversionTarget)
DEFINE_C_API_PTR_METHODS(MlirConversionPattern, const mlir::ConversionPattern)
DEFINE_C_API_PTR_METHODS(MlirTypeConverter, mlir::TypeConverter)
DEFINE_C_API_PTR_METHODS(MlirConversionPatternRewriter,
mlir::ConversionPatternRewriter)
DEFINE_C_API_PTR_METHODS(MlirConversionConfig, mlir::ConversionConfig)
#if MLIR_ENABLE_PDL_IN_PATTERNMATCH
DEFINE_C_API_PTR_METHODS(MlirPDLPatternModule, mlir::PDLPatternModule)
DEFINE_C_API_PTR_METHODS(MlirPDLResultList, mlir::PDLResultList)
DEFINE_C_API_PTR_METHODS(MlirPDLValue, const mlir::PDLValue)
#endif // MLIR_ENABLE_PDL_IN_PATTERNMATCH
#endif // MLIR_CAPI_REWRITE_H