namespace mlir {
namespace arith {
class ArithFastMathInterface;
namespace detail {
struct ArithFastMathInterfaceInterfaceTraits { … };
template <typename ConcreteOp>
struct ArithFastMathInterfaceTrait;
}
class ArithFastMathInterface : public ::mlir::OpInterface<ArithFastMathInterface, detail::ArithFastMathInterfaceInterfaceTraits> { … };
namespace detail {
template <typename ConcreteOp>
struct ArithFastMathInterfaceTrait : public ::mlir::OpInterface<ArithFastMathInterface, detail::ArithFastMathInterfaceInterfaceTraits>::Trait<ConcreteOp> { … };
}
}
}
namespace mlir {
namespace arith {
class ArithIntegerOverflowFlagsInterface;
namespace detail {
struct ArithIntegerOverflowFlagsInterfaceInterfaceTraits { … };
template <typename ConcreteOp>
struct ArithIntegerOverflowFlagsInterfaceTrait;
}
class ArithIntegerOverflowFlagsInterface : public ::mlir::OpInterface<ArithIntegerOverflowFlagsInterface, detail::ArithIntegerOverflowFlagsInterfaceInterfaceTraits> { … };
namespace detail {
template <typename ConcreteOp>
struct ArithIntegerOverflowFlagsInterfaceTrait : public ::mlir::OpInterface<ArithIntegerOverflowFlagsInterface, detail::ArithIntegerOverflowFlagsInterfaceInterfaceTraits>::Trait<ConcreteOp> { … };
}
}
}
namespace mlir {
namespace arith {
class ArithRoundingModeInterface;
namespace detail {
struct ArithRoundingModeInterfaceInterfaceTraits { … };
template <typename ConcreteOp>
struct ArithRoundingModeInterfaceTrait;
}
class ArithRoundingModeInterface : public ::mlir::OpInterface<ArithRoundingModeInterface, detail::ArithRoundingModeInterfaceInterfaceTraits> { … };
namespace detail {
template <typename ConcreteOp>
struct ArithRoundingModeInterfaceTrait : public ::mlir::OpInterface<ArithRoundingModeInterface, detail::ArithRoundingModeInterfaceInterfaceTraits>::Trait<ConcreteOp> { … };
}
}
}
namespace mlir {
namespace arith {
template<typename ConcreteOp>
FastMathFlagsAttr detail::ArithFastMathInterfaceInterfaceTraits::Model<ConcreteOp>::getFastMathFlagsAttr(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) { … }
template<typename ConcreteOp>
StringRef detail::ArithFastMathInterfaceInterfaceTraits::Model<ConcreteOp>::getFastMathAttrName() { … }
template<typename ConcreteOp>
FastMathFlagsAttr detail::ArithFastMathInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getFastMathFlagsAttr(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) { … }
template<typename ConcreteOp>
StringRef detail::ArithFastMathInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getFastMathAttrName() { … }
template<typename ConcreteModel, typename ConcreteOp>
FastMathFlagsAttr detail::ArithFastMathInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::getFastMathFlagsAttr(::mlir::Operation *tablegen_opaque_val) const { … }
template<typename ConcreteModel, typename ConcreteOp>
StringRef detail::ArithFastMathInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::getFastMathAttrName() { … }
}
}
namespace mlir {
namespace arith {
template<typename ConcreteOp>
IntegerOverflowFlagsAttr detail::ArithIntegerOverflowFlagsInterfaceInterfaceTraits::Model<ConcreteOp>::getOverflowAttr(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) { … }
template<typename ConcreteOp>
bool detail::ArithIntegerOverflowFlagsInterfaceInterfaceTraits::Model<ConcreteOp>::hasNoUnsignedWrap(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) { … }
template<typename ConcreteOp>
bool detail::ArithIntegerOverflowFlagsInterfaceInterfaceTraits::Model<ConcreteOp>::hasNoSignedWrap(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) { … }
template<typename ConcreteOp>
StringRef detail::ArithIntegerOverflowFlagsInterfaceInterfaceTraits::Model<ConcreteOp>::getIntegerOverflowAttrName() { … }
template<typename ConcreteOp>
IntegerOverflowFlagsAttr detail::ArithIntegerOverflowFlagsInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getOverflowAttr(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) { … }
template<typename ConcreteOp>
bool detail::ArithIntegerOverflowFlagsInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::hasNoUnsignedWrap(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) { … }
template<typename ConcreteOp>
bool detail::ArithIntegerOverflowFlagsInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::hasNoSignedWrap(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) { … }
template<typename ConcreteOp>
StringRef detail::ArithIntegerOverflowFlagsInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getIntegerOverflowAttrName() { … }
template<typename ConcreteModel, typename ConcreteOp>
IntegerOverflowFlagsAttr detail::ArithIntegerOverflowFlagsInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::getOverflowAttr(::mlir::Operation *tablegen_opaque_val) const { … }
template<typename ConcreteModel, typename ConcreteOp>
bool detail::ArithIntegerOverflowFlagsInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::hasNoUnsignedWrap(::mlir::Operation *tablegen_opaque_val) const { … }
template<typename ConcreteModel, typename ConcreteOp>
bool detail::ArithIntegerOverflowFlagsInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::hasNoSignedWrap(::mlir::Operation *tablegen_opaque_val) const { … }
template<typename ConcreteModel, typename ConcreteOp>
StringRef detail::ArithIntegerOverflowFlagsInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::getIntegerOverflowAttrName() { … }
}
}
namespace mlir {
namespace arith {
template<typename ConcreteOp>
RoundingModeAttr detail::ArithRoundingModeInterfaceInterfaceTraits::Model<ConcreteOp>::getRoundingModeAttr(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) { … }
template<typename ConcreteOp>
StringRef detail::ArithRoundingModeInterfaceInterfaceTraits::Model<ConcreteOp>::getRoundingModeAttrName() { … }
template<typename ConcreteOp>
RoundingModeAttr detail::ArithRoundingModeInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getRoundingModeAttr(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) { … }
template<typename ConcreteOp>
StringRef detail::ArithRoundingModeInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getRoundingModeAttrName() { … }
template<typename ConcreteModel, typename ConcreteOp>
RoundingModeAttr detail::ArithRoundingModeInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::getRoundingModeAttr(::mlir::Operation *tablegen_opaque_val) const { … }
template<typename ConcreteModel, typename ConcreteOp>
StringRef detail::ArithRoundingModeInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::getRoundingModeAttrName() { … }
}
}