llvm/tools/mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h.inc

/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Interface Declarations                                                     *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

namespace mlir {
namespace transform {
class TransformOpInterface;
namespace detail {
struct TransformOpInterfaceInterfaceTraits {};
template <typename ConcreteOp>
struct TransformOpInterfaceTrait;

} // namespace detail
class TransformOpInterface : public ::mlir::OpInterface<TransformOpInterface, detail::TransformOpInterfaceInterfaceTraits> {};
namespace detail {
  template <typename ConcreteOp>
  struct TransformOpInterfaceTrait : public ::mlir::OpInterface<TransformOpInterface, detail::TransformOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {};
}// namespace detail
} // namespace transform
} // namespace mlir
namespace mlir {
namespace transform {
class FindPayloadReplacementOpInterface;
namespace detail {
struct FindPayloadReplacementOpInterfaceInterfaceTraits {};
template <typename ConcreteOp>
struct FindPayloadReplacementOpInterfaceTrait;

} // namespace detail
class FindPayloadReplacementOpInterface : public ::mlir::OpInterface<FindPayloadReplacementOpInterface, detail::FindPayloadReplacementOpInterfaceInterfaceTraits> {};
namespace detail {
  template <typename ConcreteOp>
  struct FindPayloadReplacementOpInterfaceTrait : public ::mlir::OpInterface<FindPayloadReplacementOpInterface, detail::FindPayloadReplacementOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {};
}// namespace detail
} // namespace transform
} // namespace mlir
namespace mlir {
namespace transform {
class PatternDescriptorOpInterface;
namespace detail {
struct PatternDescriptorOpInterfaceInterfaceTraits {};
template <typename ConcreteOp>
struct PatternDescriptorOpInterfaceTrait;

} // namespace detail
class PatternDescriptorOpInterface : public ::mlir::OpInterface<PatternDescriptorOpInterface, detail::PatternDescriptorOpInterfaceInterfaceTraits> {};
namespace detail {
  template <typename ConcreteOp>
  struct PatternDescriptorOpInterfaceTrait : public ::mlir::OpInterface<PatternDescriptorOpInterface, detail::PatternDescriptorOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {};
}// namespace detail
} // namespace transform
} // namespace mlir
namespace mlir {
namespace transform {
class TypeConverterBuilderOpInterface;
namespace detail {
struct TypeConverterBuilderOpInterfaceInterfaceTraits {};
template <typename ConcreteOp>
struct TypeConverterBuilderOpInterfaceTrait;

} // namespace detail
class TypeConverterBuilderOpInterface : public ::mlir::OpInterface<TypeConverterBuilderOpInterface, detail::TypeConverterBuilderOpInterfaceInterfaceTraits> {};
namespace detail {
  template <typename ConcreteOp>
  struct TypeConverterBuilderOpInterfaceTrait : public ::mlir::OpInterface<TypeConverterBuilderOpInterface, detail::TypeConverterBuilderOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {};
}// namespace detail
} // namespace transform
} // namespace mlir
namespace mlir {
namespace transform {
class ConversionPatternDescriptorOpInterface;
namespace detail {
struct ConversionPatternDescriptorOpInterfaceInterfaceTraits {};
template <typename ConcreteOp>
struct ConversionPatternDescriptorOpInterfaceTrait;

} // namespace detail
class ConversionPatternDescriptorOpInterface : public ::mlir::OpInterface<ConversionPatternDescriptorOpInterface, detail::ConversionPatternDescriptorOpInterfaceInterfaceTraits> {};
namespace detail {
  template <typename ConcreteOp>
  struct ConversionPatternDescriptorOpInterfaceTrait : public ::mlir::OpInterface<ConversionPatternDescriptorOpInterface, detail::ConversionPatternDescriptorOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {};
}// namespace detail
} // namespace transform
} // namespace mlir
namespace mlir {
namespace transform {
template<typename ConcreteOp>
::mlir::DiagnosedSilenceableFailure detail::TransformOpInterfaceInterfaceTraits::Model<ConcreteOp>::apply(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::transform::TransformRewriter & rewriter, ::mlir::transform::TransformResults & transformResults, ::mlir::transform::TransformState & state) {}
template<typename ConcreteOp>
bool detail::TransformOpInterfaceInterfaceTraits::Model<ConcreteOp>::allowsRepeatedHandleOperands(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) {}
template<typename ConcreteOp>
::mlir::DiagnosedSilenceableFailure detail::TransformOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::apply(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::transform::TransformRewriter & rewriter, ::mlir::transform::TransformResults & transformResults, ::mlir::transform::TransformState & state) {}
template<typename ConcreteOp>
bool detail::TransformOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::allowsRepeatedHandleOperands(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) {}
template<typename ConcreteModel, typename ConcreteOp>
bool detail::TransformOpInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::allowsRepeatedHandleOperands(::mlir::Operation *tablegen_opaque_val) const {}
} // namespace transform
} // namespace mlir
namespace mlir {
namespace transform {
template<typename ConcreteOp>
::llvm::SmallVector<::mlir::Value> detail::FindPayloadReplacementOpInterfaceInterfaceTraits::Model<ConcreteOp>::getNextOperands(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) {}
template<typename ConcreteOp>
::llvm::SmallVector<::mlir::Value> detail::FindPayloadReplacementOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getNextOperands(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) {}
} // namespace transform
} // namespace mlir
namespace mlir {
namespace transform {
template<typename ConcreteOp>
void detail::PatternDescriptorOpInterfaceInterfaceTraits::Model<ConcreteOp>::populatePatterns(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::RewritePatternSet & patterns) {}
template<typename ConcreteOp>
void detail::PatternDescriptorOpInterfaceInterfaceTraits::Model<ConcreteOp>::populatePatternsWithState(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::RewritePatternSet & patterns, ::mlir::transform::TransformState & state) {}
template<typename ConcreteOp>
void detail::PatternDescriptorOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::populatePatterns(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::RewritePatternSet & patterns) {}
template<typename ConcreteOp>
void detail::PatternDescriptorOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::populatePatternsWithState(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::RewritePatternSet & patterns, ::mlir::transform::TransformState & state) {}
template<typename ConcreteModel, typename ConcreteOp>
void detail::PatternDescriptorOpInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::populatePatternsWithState(::mlir::Operation *tablegen_opaque_val, ::mlir::RewritePatternSet &patterns, ::mlir::transform::TransformState &state) const {}
} // namespace transform
} // namespace mlir
namespace mlir {
namespace transform {
template<typename ConcreteOp>
std::unique_ptr<::mlir::TypeConverter> detail::TypeConverterBuilderOpInterfaceInterfaceTraits::Model<ConcreteOp>::getTypeConverter(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) {}
template<typename ConcreteOp>
StringRef detail::TypeConverterBuilderOpInterfaceInterfaceTraits::Model<ConcreteOp>::getTypeConverterType() {}
template<typename ConcreteOp>
void detail::TypeConverterBuilderOpInterfaceInterfaceTraits::Model<ConcreteOp>::populateTypeMaterializations(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::TypeConverter & converter) {}
template<typename ConcreteOp>
std::unique_ptr<::mlir::TypeConverter> detail::TypeConverterBuilderOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getTypeConverter(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) {}
template<typename ConcreteOp>
StringRef detail::TypeConverterBuilderOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getTypeConverterType() {}
template<typename ConcreteOp>
void detail::TypeConverterBuilderOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::populateTypeMaterializations(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::TypeConverter & converter) {}
template<typename ConcreteModel, typename ConcreteOp>
std::unique_ptr<::mlir::TypeConverter> detail::TypeConverterBuilderOpInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::getTypeConverter(::mlir::Operation *tablegen_opaque_val) const {}
template<typename ConcreteModel, typename ConcreteOp>
StringRef detail::TypeConverterBuilderOpInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::getTypeConverterType() {}
template<typename ConcreteModel, typename ConcreteOp>
void detail::TypeConverterBuilderOpInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::populateTypeMaterializations(::mlir::Operation *tablegen_opaque_val, ::mlir::TypeConverter &converter) const {}
} // namespace transform
} // namespace mlir
namespace mlir {
namespace transform {
template<typename ConcreteOp>
void detail::ConversionPatternDescriptorOpInterfaceInterfaceTraits::Model<ConcreteOp>::populatePatterns(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::TypeConverter & typeConverter, ::mlir::RewritePatternSet & patterns) {}
template<typename ConcreteOp>
void detail::ConversionPatternDescriptorOpInterfaceInterfaceTraits::Model<ConcreteOp>::populateConversionTargetRules(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, const ::mlir::TypeConverter & typeConverter, ::mlir::ConversionTarget & conversionTarget) {}
template<typename ConcreteOp>
std::unique_ptr<::mlir::TypeConverter> detail::ConversionPatternDescriptorOpInterfaceInterfaceTraits::Model<ConcreteOp>::getTypeConverter(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) {}
template<typename ConcreteOp>
::llvm::LogicalResult detail::ConversionPatternDescriptorOpInterfaceInterfaceTraits::Model<ConcreteOp>::verifyTypeConverter(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, TypeConverterBuilderOpInterface builder) {}
template<typename ConcreteOp>
void detail::ConversionPatternDescriptorOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::populatePatterns(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::TypeConverter & typeConverter, ::mlir::RewritePatternSet & patterns) {}
template<typename ConcreteOp>
void detail::ConversionPatternDescriptorOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::populateConversionTargetRules(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, const ::mlir::TypeConverter & typeConverter, ::mlir::ConversionTarget & conversionTarget) {}
template<typename ConcreteOp>
std::unique_ptr<::mlir::TypeConverter> detail::ConversionPatternDescriptorOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getTypeConverter(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) {}
template<typename ConcreteOp>
::llvm::LogicalResult detail::ConversionPatternDescriptorOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::verifyTypeConverter(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, TypeConverterBuilderOpInterface builder) {}
template<typename ConcreteModel, typename ConcreteOp>
void detail::ConversionPatternDescriptorOpInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::populateConversionTargetRules(::mlir::Operation *tablegen_opaque_val, const ::mlir::TypeConverter &typeConverter, ::mlir::ConversionTarget &conversionTarget) const {}
template<typename ConcreteModel, typename ConcreteOp>
std::unique_ptr<::mlir::TypeConverter> detail::ConversionPatternDescriptorOpInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::getTypeConverter(::mlir::Operation *tablegen_opaque_val) const {}
template<typename ConcreteModel, typename ConcreteOp>
::llvm::LogicalResult detail::ConversionPatternDescriptorOpInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::verifyTypeConverter(::mlir::Operation *tablegen_opaque_val, TypeConverterBuilderOpInterface builder) const {}
} // namespace transform
} // namespace mlir