llvm/tools/mlir/include/mlir/Dialect/Vector/Transforms/VectorTransformsEnums.h.inc

/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Enum Utility Declarations                                                  *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|* From: VectorTransformsBase.td                                              *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

namespace mlir {
namespace vector {
// control the lowering of `vector.contract` operations.
enum class VectorContractLowering : uint32_t {};

::std::optional<VectorContractLowering> symbolizeVectorContractLowering(uint32_t);
::llvm::StringRef stringifyVectorContractLowering(VectorContractLowering);
::std::optional<VectorContractLowering> symbolizeVectorContractLowering(::llvm::StringRef);
inline constexpr unsigned getMaxEnumValForVectorContractLowering() {}


inline ::llvm::StringRef stringifyEnum(VectorContractLowering enumValue) {}

template <typename EnumType>
::std::optional<EnumType> symbolizeEnum(::llvm::StringRef);

template <>
inline ::std::optional<VectorContractLowering> symbolizeEnum<VectorContractLowering>(::llvm::StringRef str) {}

class VectorContractLoweringAttr : public ::mlir::IntegerAttr {};
} // namespace vector
} // namespace mlir

namespace mlir {
template <typename T, typename>
struct FieldParser;

template<>
struct FieldParser<::mlir::vector::VectorContractLowering, ::mlir::vector::VectorContractLowering> {};
} // namespace mlir

namespace llvm {
inline ::llvm::raw_ostream &operator<<(::llvm::raw_ostream &p, ::mlir::vector::VectorContractLowering value) {}
} // namespace llvm

namespace llvm {
template<> struct DenseMapInfo<::mlir::vector::VectorContractLowering> {};
}

namespace mlir {
namespace vector {
// control the lowering of `vector.multi_reduction`.
enum class VectorMultiReductionLowering : uint32_t {};

::std::optional<VectorMultiReductionLowering> symbolizeVectorMultiReductionLowering(uint32_t);
::llvm::StringRef stringifyVectorMultiReductionLowering(VectorMultiReductionLowering);
::std::optional<VectorMultiReductionLowering> symbolizeVectorMultiReductionLowering(::llvm::StringRef);
inline constexpr unsigned getMaxEnumValForVectorMultiReductionLowering() {}


inline ::llvm::StringRef stringifyEnum(VectorMultiReductionLowering enumValue) {}

template <typename EnumType>
::std::optional<EnumType> symbolizeEnum(::llvm::StringRef);

template <>
inline ::std::optional<VectorMultiReductionLowering> symbolizeEnum<VectorMultiReductionLowering>(::llvm::StringRef str) {}

class VectorMultiReductionLoweringAttr : public ::mlir::IntegerAttr {};
} // namespace vector
} // namespace mlir

namespace mlir {
template <typename T, typename>
struct FieldParser;

template<>
struct FieldParser<::mlir::vector::VectorMultiReductionLowering, ::mlir::vector::VectorMultiReductionLowering> {};
} // namespace mlir

namespace llvm {
inline ::llvm::raw_ostream &operator<<(::llvm::raw_ostream &p, ::mlir::vector::VectorMultiReductionLowering value) {}
} // namespace llvm

namespace llvm {
template<> struct DenseMapInfo<::mlir::vector::VectorMultiReductionLowering> {};
}

namespace mlir {
namespace vector {
// control the splitting of `vector.transfer` operations into in-bounds and out-of-bounds variants.
enum class VectorTransferSplit : uint32_t {};

::std::optional<VectorTransferSplit> symbolizeVectorTransferSplit(uint32_t);
::llvm::StringRef stringifyVectorTransferSplit(VectorTransferSplit);
::std::optional<VectorTransferSplit> symbolizeVectorTransferSplit(::llvm::StringRef);
inline constexpr unsigned getMaxEnumValForVectorTransferSplit() {}


inline ::llvm::StringRef stringifyEnum(VectorTransferSplit enumValue) {}

template <typename EnumType>
::std::optional<EnumType> symbolizeEnum(::llvm::StringRef);

template <>
inline ::std::optional<VectorTransferSplit> symbolizeEnum<VectorTransferSplit>(::llvm::StringRef str) {}

class VectorTransferSplitAttr : public ::mlir::IntegerAttr {};
} // namespace vector
} // namespace mlir

namespace mlir {
template <typename T, typename>
struct FieldParser;

template<>
struct FieldParser<::mlir::vector::VectorTransferSplit, ::mlir::vector::VectorTransferSplit> {};
} // namespace mlir

namespace llvm {
inline ::llvm::raw_ostream &operator<<(::llvm::raw_ostream &p, ::mlir::vector::VectorTransferSplit value) {}
} // namespace llvm

namespace llvm {
template<> struct DenseMapInfo<::mlir::vector::VectorTransferSplit> {};
}

namespace mlir {
namespace vector {
// control the lowering of `vector.transpose` operations.
enum class VectorTransposeLowering : uint32_t {};

::std::optional<VectorTransposeLowering> symbolizeVectorTransposeLowering(uint32_t);
::llvm::StringRef stringifyVectorTransposeLowering(VectorTransposeLowering);
::std::optional<VectorTransposeLowering> symbolizeVectorTransposeLowering(::llvm::StringRef);
inline constexpr unsigned getMaxEnumValForVectorTransposeLowering() {}


inline ::llvm::StringRef stringifyEnum(VectorTransposeLowering enumValue) {}

template <typename EnumType>
::std::optional<EnumType> symbolizeEnum(::llvm::StringRef);

template <>
inline ::std::optional<VectorTransposeLowering> symbolizeEnum<VectorTransposeLowering>(::llvm::StringRef str) {}

class VectorTransposeLoweringAttr : public ::mlir::IntegerAttr {};
} // namespace vector
} // namespace mlir

namespace mlir {
template <typename T, typename>
struct FieldParser;

template<>
struct FieldParser<::mlir::vector::VectorTransposeLowering, ::mlir::vector::VectorTransposeLowering> {};
} // namespace mlir

namespace llvm {
inline ::llvm::raw_ostream &operator<<(::llvm::raw_ostream &p, ::mlir::vector::VectorTransposeLowering value) {}
} // namespace llvm

namespace llvm {
template<> struct DenseMapInfo<::mlir::vector::VectorTransposeLowering> {};
}