// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: tensorflow/compiler/jit/xla_activity.proto
// Protobuf C++ Version: 6.31.1

#ifndef tensorflow_2fcompiler_2fjit_2fxla_5factivity_2eproto_2epb_2eh
#define tensorflow_2fcompiler_2fjit_2fxla_5factivity_2eproto_2epb_2eh

#include <limits>
#include <string>
#include <type_traits>
#include <utility>

#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 6031001
#error "Protobuf C++ gencode is built with an incompatible version of"
#error "Protobuf C++ headers/runtime. See"
#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
#endif
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_tctable_decl.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/message.h"
#include "google/protobuf/message_lite.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/protobuf/generated_enum_reflection.h"
#include "google/protobuf/unknown_field_set.h"
#include "tensorflow/core/protobuf/config.pb.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"

#define PROTOBUF_INTERNAL_EXPORT_tensorflow_2fcompiler_2fjit_2fxla_5factivity_2eproto PROTOBUF_EXPORT

namespace google {
namespace protobuf {
namespace internal {
template <typename T>
::absl::string_view GetAnyMessageName();
}  // namespace internal
}  // namespace protobuf
}  // namespace google

// Internal implementation detail -- do not use these members.
struct PROTOBUF_EXPORT TableStruct_tensorflow_2fcompiler_2fjit_2fxla_5factivity_2eproto {
  static const ::uint32_t offsets[];
};
extern "C" {
PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_tensorflow_2fcompiler_2fjit_2fxla_5factivity_2eproto;
}  // extern "C"
namespace tensorflow {
enum XlaOptimizationRemark_Warning : int;
PROTOBUF_EXPORT extern const uint32_t XlaOptimizationRemark_Warning_internal_data_[];
class XlaAutoClusteringActivity;
struct XlaAutoClusteringActivityDefaultTypeInternal;
PROTOBUF_EXPORT extern XlaAutoClusteringActivityDefaultTypeInternal _XlaAutoClusteringActivity_default_instance_;
PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull XlaAutoClusteringActivity_class_data_;
class XlaAutoClusteringSummary;
struct XlaAutoClusteringSummaryDefaultTypeInternal;
PROTOBUF_EXPORT extern XlaAutoClusteringSummaryDefaultTypeInternal _XlaAutoClusteringSummary_default_instance_;
PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull XlaAutoClusteringSummary_class_data_;
class XlaAutoClusteringSummary_Cluster;
struct XlaAutoClusteringSummary_ClusterDefaultTypeInternal;
PROTOBUF_EXPORT extern XlaAutoClusteringSummary_ClusterDefaultTypeInternal _XlaAutoClusteringSummary_Cluster_default_instance_;
PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull XlaAutoClusteringSummary_Cluster_class_data_;
class XlaAutoClusteringSummary_OpAndCount;
struct XlaAutoClusteringSummary_OpAndCountDefaultTypeInternal;
PROTOBUF_EXPORT extern XlaAutoClusteringSummary_OpAndCountDefaultTypeInternal _XlaAutoClusteringSummary_OpAndCount_default_instance_;
PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull XlaAutoClusteringSummary_OpAndCount_class_data_;
class XlaJitCompilationActivity;
struct XlaJitCompilationActivityDefaultTypeInternal;
PROTOBUF_EXPORT extern XlaJitCompilationActivityDefaultTypeInternal _XlaJitCompilationActivity_default_instance_;
PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull XlaJitCompilationActivity_class_data_;
class XlaOptimizationRemark;
struct XlaOptimizationRemarkDefaultTypeInternal;
PROTOBUF_EXPORT extern XlaOptimizationRemarkDefaultTypeInternal _XlaOptimizationRemark_default_instance_;
PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull XlaOptimizationRemark_class_data_;
}  // namespace tensorflow
namespace google {
namespace protobuf {
template <>
internal::EnumTraitsT<::tensorflow::XlaOptimizationRemark_Warning_internal_data_>
    internal::EnumTraitsImpl::value<::tensorflow::XlaOptimizationRemark_Warning>;
}  // namespace protobuf
}  // namespace google

namespace tensorflow {
enum XlaOptimizationRemark_Warning : int {
  XlaOptimizationRemark_Warning_NONE = 0,
  XlaOptimizationRemark_Warning_INACCURATE_OPERATION = 1,
  XlaOptimizationRemark_Warning_SLOW_OPERATION = 2,
  XlaOptimizationRemark_Warning_UNIMPLEMENTED_OPERATION = 3,
  XlaOptimizationRemark_Warning_SLOW_IMAGE_RESIZE_DIMENSIONS = 4,
  XlaOptimizationRemark_Warning_MEGAMORPHIC_FUNCTION = 5,
  XlaOptimizationRemark_Warning_XlaOptimizationRemark_Warning_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  XlaOptimizationRemark_Warning_XlaOptimizationRemark_Warning_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

PROTOBUF_EXPORT extern const uint32_t XlaOptimizationRemark_Warning_internal_data_[];
inline constexpr XlaOptimizationRemark_Warning XlaOptimizationRemark_Warning_Warning_MIN =
    static_cast<XlaOptimizationRemark_Warning>(0);
inline constexpr XlaOptimizationRemark_Warning XlaOptimizationRemark_Warning_Warning_MAX =
    static_cast<XlaOptimizationRemark_Warning>(5);
inline bool XlaOptimizationRemark_Warning_IsValid(int value) {
  return 0 <= value && value <= 5;
}
inline constexpr int XlaOptimizationRemark_Warning_Warning_ARRAYSIZE = 5 + 1;
PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL XlaOptimizationRemark_Warning_descriptor();
template <typename T>
const ::std::string& XlaOptimizationRemark_Warning_Name(T value) {
  static_assert(::std::is_same<T, XlaOptimizationRemark_Warning>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to Warning_Name().");
  return XlaOptimizationRemark_Warning_Name(static_cast<XlaOptimizationRemark_Warning>(value));
}
template <>
inline const ::std::string& XlaOptimizationRemark_Warning_Name(XlaOptimizationRemark_Warning value) {
  return ::google::protobuf::internal::NameOfDenseEnum<XlaOptimizationRemark_Warning_descriptor, 0, 5>(
      static_cast<int>(value));
}
inline bool XlaOptimizationRemark_Warning_Parse(
    ::absl::string_view name, XlaOptimizationRemark_Warning* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<XlaOptimizationRemark_Warning>(XlaOptimizationRemark_Warning_descriptor(), name,
                                           value);
}

// ===================================================================


// -------------------------------------------------------------------

class PROTOBUF_EXPORT XlaOptimizationRemark final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.XlaOptimizationRemark) */ {
 public:
  inline XlaOptimizationRemark() : XlaOptimizationRemark(nullptr) {}
  ~XlaOptimizationRemark() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(XlaOptimizationRemark* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(XlaOptimizationRemark));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR XlaOptimizationRemark(::google::protobuf::internal::ConstantInitialized);

  inline XlaOptimizationRemark(const XlaOptimizationRemark& from) : XlaOptimizationRemark(nullptr, from) {}
  inline XlaOptimizationRemark(XlaOptimizationRemark&& from) noexcept
      : XlaOptimizationRemark(nullptr, ::std::move(from)) {}
  inline XlaOptimizationRemark& operator=(const XlaOptimizationRemark& from) {
    CopyFrom(from);
    return *this;
  }
  inline XlaOptimizationRemark& operator=(XlaOptimizationRemark&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const XlaOptimizationRemark& default_instance() {
    return *reinterpret_cast<const XlaOptimizationRemark*>(
        &_XlaOptimizationRemark_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 5;
  friend void swap(XlaOptimizationRemark& a, XlaOptimizationRemark& b) { a.Swap(&b); }
  inline void Swap(XlaOptimizationRemark* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(XlaOptimizationRemark* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  XlaOptimizationRemark* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<XlaOptimizationRemark>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const XlaOptimizationRemark& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const XlaOptimizationRemark& from) { XlaOptimizationRemark::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(XlaOptimizationRemark* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "tensorflow.XlaOptimizationRemark"; }

 protected:
  explicit XlaOptimizationRemark(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  XlaOptimizationRemark(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const XlaOptimizationRemark& from);
  XlaOptimizationRemark(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, XlaOptimizationRemark&& from) noexcept
      : XlaOptimizationRemark(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using Warning = XlaOptimizationRemark_Warning;
  static constexpr Warning NONE = XlaOptimizationRemark_Warning_NONE;
  static constexpr Warning INACCURATE_OPERATION = XlaOptimizationRemark_Warning_INACCURATE_OPERATION;
  static constexpr Warning SLOW_OPERATION = XlaOptimizationRemark_Warning_SLOW_OPERATION;
  static constexpr Warning UNIMPLEMENTED_OPERATION = XlaOptimizationRemark_Warning_UNIMPLEMENTED_OPERATION;
  static constexpr Warning SLOW_IMAGE_RESIZE_DIMENSIONS = XlaOptimizationRemark_Warning_SLOW_IMAGE_RESIZE_DIMENSIONS;
  static constexpr Warning MEGAMORPHIC_FUNCTION = XlaOptimizationRemark_Warning_MEGAMORPHIC_FUNCTION;
  static inline bool Warning_IsValid(int value) {
    return XlaOptimizationRemark_Warning_IsValid(value);
  }
  static constexpr Warning Warning_MIN = XlaOptimizationRemark_Warning_Warning_MIN;
  static constexpr Warning Warning_MAX = XlaOptimizationRemark_Warning_Warning_MAX;
  static constexpr int Warning_ARRAYSIZE = XlaOptimizationRemark_Warning_Warning_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Warning_descriptor() {
    return XlaOptimizationRemark_Warning_descriptor();
  }
  template <typename T>
  static inline const ::std::string& Warning_Name(T value) {
    return XlaOptimizationRemark_Warning_Name(value);
  }
  static inline bool Warning_Parse(
      ::absl::string_view name, Warning* PROTOBUF_NONNULL value) {
    return XlaOptimizationRemark_Warning_Parse(name, value);
  }

  // accessors -------------------------------------------------------
  enum : int {
    kDebugInformationFieldNumber = 2,
    kWarningFieldNumber = 1,
  };
  // string debug_information = 2;
  void clear_debug_information() ;
  const ::std::string& debug_information() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_debug_information(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_debug_information();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_debug_information();
  void set_allocated_debug_information(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_debug_information() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_debug_information(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_debug_information();

  public:
  // .tensorflow.XlaOptimizationRemark.Warning warning = 1;
  void clear_warning() ;
  ::tensorflow::XlaOptimizationRemark_Warning warning() const;
  void set_warning(::tensorflow::XlaOptimizationRemark_Warning value);

  private:
  ::tensorflow::XlaOptimizationRemark_Warning _internal_warning() const;
  void _internal_set_warning(::tensorflow::XlaOptimizationRemark_Warning value);

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.XlaOptimizationRemark)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 58,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const XlaOptimizationRemark& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr debug_information_;
    int warning_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tensorflow_2fcompiler_2fjit_2fxla_5factivity_2eproto;
};

PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull XlaOptimizationRemark_class_data_;
// -------------------------------------------------------------------

class PROTOBUF_EXPORT XlaJitCompilationActivity final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.XlaJitCompilationActivity) */ {
 public:
  inline XlaJitCompilationActivity() : XlaJitCompilationActivity(nullptr) {}
  ~XlaJitCompilationActivity() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(XlaJitCompilationActivity* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(XlaJitCompilationActivity));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR XlaJitCompilationActivity(::google::protobuf::internal::ConstantInitialized);

  inline XlaJitCompilationActivity(const XlaJitCompilationActivity& from) : XlaJitCompilationActivity(nullptr, from) {}
  inline XlaJitCompilationActivity(XlaJitCompilationActivity&& from) noexcept
      : XlaJitCompilationActivity(nullptr, ::std::move(from)) {}
  inline XlaJitCompilationActivity& operator=(const XlaJitCompilationActivity& from) {
    CopyFrom(from);
    return *this;
  }
  inline XlaJitCompilationActivity& operator=(XlaJitCompilationActivity&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const XlaJitCompilationActivity& default_instance() {
    return *reinterpret_cast<const XlaJitCompilationActivity*>(
        &_XlaJitCompilationActivity_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 4;
  friend void swap(XlaJitCompilationActivity& a, XlaJitCompilationActivity& b) { a.Swap(&b); }
  inline void Swap(XlaJitCompilationActivity* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(XlaJitCompilationActivity* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  XlaJitCompilationActivity* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<XlaJitCompilationActivity>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const XlaJitCompilationActivity& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const XlaJitCompilationActivity& from) { XlaJitCompilationActivity::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(XlaJitCompilationActivity* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "tensorflow.XlaJitCompilationActivity"; }

 protected:
  explicit XlaJitCompilationActivity(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  XlaJitCompilationActivity(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const XlaJitCompilationActivity& from);
  XlaJitCompilationActivity(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, XlaJitCompilationActivity&& from) noexcept
      : XlaJitCompilationActivity(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kClusterNameFieldNumber = 1,
    kCompileTimeUsFieldNumber = 3,
    kCompileCountFieldNumber = 2,
    kUsedPersistentCacheFieldNumber = 5,
    kCumulativeCompileTimeUsFieldNumber = 4,
  };
  // string cluster_name = 1;
  void clear_cluster_name() ;
  const ::std::string& cluster_name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_cluster_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_cluster_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_cluster_name();
  void set_allocated_cluster_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_cluster_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_cluster_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_cluster_name();

  public:
  // int64 compile_time_us = 3;
  void clear_compile_time_us() ;
  ::int64_t compile_time_us() const;
  void set_compile_time_us(::int64_t value);

  private:
  ::int64_t _internal_compile_time_us() const;
  void _internal_set_compile_time_us(::int64_t value);

  public:
  // int32 compile_count = 2;
  void clear_compile_count() ;
  ::int32_t compile_count() const;
  void set_compile_count(::int32_t value);

  private:
  ::int32_t _internal_compile_count() const;
  void _internal_set_compile_count(::int32_t value);

  public:
  // bool used_persistent_cache = 5;
  void clear_used_persistent_cache() ;
  bool used_persistent_cache() const;
  void set_used_persistent_cache(bool value);

  private:
  bool _internal_used_persistent_cache() const;
  void _internal_set_used_persistent_cache(bool value);

  public:
  // int64 cumulative_compile_time_us = 4;
  void clear_cumulative_compile_time_us() ;
  ::int64_t cumulative_compile_time_us() const;
  void set_cumulative_compile_time_us(::int64_t value);

  private:
  ::int64_t _internal_cumulative_compile_time_us() const;
  void _internal_set_cumulative_compile_time_us(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.XlaJitCompilationActivity)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   0, 57,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const XlaJitCompilationActivity& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr cluster_name_;
    ::int64_t compile_time_us_;
    ::int32_t compile_count_;
    bool used_persistent_cache_;
    ::int64_t cumulative_compile_time_us_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tensorflow_2fcompiler_2fjit_2fxla_5factivity_2eproto;
};

PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull XlaJitCompilationActivity_class_data_;
// -------------------------------------------------------------------

class PROTOBUF_EXPORT XlaAutoClusteringSummary_OpAndCount final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.XlaAutoClusteringSummary.OpAndCount) */ {
 public:
  inline XlaAutoClusteringSummary_OpAndCount() : XlaAutoClusteringSummary_OpAndCount(nullptr) {}
  ~XlaAutoClusteringSummary_OpAndCount() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(XlaAutoClusteringSummary_OpAndCount* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(XlaAutoClusteringSummary_OpAndCount));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR XlaAutoClusteringSummary_OpAndCount(::google::protobuf::internal::ConstantInitialized);

  inline XlaAutoClusteringSummary_OpAndCount(const XlaAutoClusteringSummary_OpAndCount& from) : XlaAutoClusteringSummary_OpAndCount(nullptr, from) {}
  inline XlaAutoClusteringSummary_OpAndCount(XlaAutoClusteringSummary_OpAndCount&& from) noexcept
      : XlaAutoClusteringSummary_OpAndCount(nullptr, ::std::move(from)) {}
  inline XlaAutoClusteringSummary_OpAndCount& operator=(const XlaAutoClusteringSummary_OpAndCount& from) {
    CopyFrom(from);
    return *this;
  }
  inline XlaAutoClusteringSummary_OpAndCount& operator=(XlaAutoClusteringSummary_OpAndCount&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const XlaAutoClusteringSummary_OpAndCount& default_instance() {
    return *reinterpret_cast<const XlaAutoClusteringSummary_OpAndCount*>(
        &_XlaAutoClusteringSummary_OpAndCount_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 0;
  friend void swap(XlaAutoClusteringSummary_OpAndCount& a, XlaAutoClusteringSummary_OpAndCount& b) { a.Swap(&b); }
  inline void Swap(XlaAutoClusteringSummary_OpAndCount* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(XlaAutoClusteringSummary_OpAndCount* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  XlaAutoClusteringSummary_OpAndCount* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<XlaAutoClusteringSummary_OpAndCount>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const XlaAutoClusteringSummary_OpAndCount& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const XlaAutoClusteringSummary_OpAndCount& from) { XlaAutoClusteringSummary_OpAndCount::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(XlaAutoClusteringSummary_OpAndCount* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "tensorflow.XlaAutoClusteringSummary.OpAndCount"; }

 protected:
  explicit XlaAutoClusteringSummary_OpAndCount(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  XlaAutoClusteringSummary_OpAndCount(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const XlaAutoClusteringSummary_OpAndCount& from);
  XlaAutoClusteringSummary_OpAndCount(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, XlaAutoClusteringSummary_OpAndCount&& from) noexcept
      : XlaAutoClusteringSummary_OpAndCount(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kOpFieldNumber = 1,
    kCountFieldNumber = 2,
  };
  // string op = 1;
  void clear_op() ;
  const ::std::string& op() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_op(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_op();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_op();
  void set_allocated_op(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_op() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_op(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_op();

  public:
  // int32 count = 2;
  void clear_count() ;
  ::int32_t count() const;
  void set_count(::int32_t value);

  private:
  ::int32_t _internal_count() const;
  void _internal_set_count(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.XlaAutoClusteringSummary.OpAndCount)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 57,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const XlaAutoClusteringSummary_OpAndCount& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr op_;
    ::int32_t count_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tensorflow_2fcompiler_2fjit_2fxla_5factivity_2eproto;
};

PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull XlaAutoClusteringSummary_OpAndCount_class_data_;
// -------------------------------------------------------------------

class PROTOBUF_EXPORT XlaAutoClusteringSummary_Cluster final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.XlaAutoClusteringSummary.Cluster) */ {
 public:
  inline XlaAutoClusteringSummary_Cluster() : XlaAutoClusteringSummary_Cluster(nullptr) {}
  ~XlaAutoClusteringSummary_Cluster() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(XlaAutoClusteringSummary_Cluster* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(XlaAutoClusteringSummary_Cluster));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR XlaAutoClusteringSummary_Cluster(::google::protobuf::internal::ConstantInitialized);

  inline XlaAutoClusteringSummary_Cluster(const XlaAutoClusteringSummary_Cluster& from) : XlaAutoClusteringSummary_Cluster(nullptr, from) {}
  inline XlaAutoClusteringSummary_Cluster(XlaAutoClusteringSummary_Cluster&& from) noexcept
      : XlaAutoClusteringSummary_Cluster(nullptr, ::std::move(from)) {}
  inline XlaAutoClusteringSummary_Cluster& operator=(const XlaAutoClusteringSummary_Cluster& from) {
    CopyFrom(from);
    return *this;
  }
  inline XlaAutoClusteringSummary_Cluster& operator=(XlaAutoClusteringSummary_Cluster&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const XlaAutoClusteringSummary_Cluster& default_instance() {
    return *reinterpret_cast<const XlaAutoClusteringSummary_Cluster*>(
        &_XlaAutoClusteringSummary_Cluster_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 1;
  friend void swap(XlaAutoClusteringSummary_Cluster& a, XlaAutoClusteringSummary_Cluster& b) { a.Swap(&b); }
  inline void Swap(XlaAutoClusteringSummary_Cluster* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(XlaAutoClusteringSummary_Cluster* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  XlaAutoClusteringSummary_Cluster* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<XlaAutoClusteringSummary_Cluster>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const XlaAutoClusteringSummary_Cluster& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const XlaAutoClusteringSummary_Cluster& from) { XlaAutoClusteringSummary_Cluster::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(XlaAutoClusteringSummary_Cluster* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "tensorflow.XlaAutoClusteringSummary.Cluster"; }

 protected:
  explicit XlaAutoClusteringSummary_Cluster(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  XlaAutoClusteringSummary_Cluster(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const XlaAutoClusteringSummary_Cluster& from);
  XlaAutoClusteringSummary_Cluster(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, XlaAutoClusteringSummary_Cluster&& from) noexcept
      : XlaAutoClusteringSummary_Cluster(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kOpHistogramFieldNumber = 3,
    kNameFieldNumber = 1,
    kSizeFieldNumber = 2,
  };
  // repeated .tensorflow.XlaAutoClusteringSummary.OpAndCount op_histogram = 3;
  int op_histogram_size() const;
  private:
  int _internal_op_histogram_size() const;

  public:
  void clear_op_histogram() ;
  ::tensorflow::XlaAutoClusteringSummary_OpAndCount* PROTOBUF_NONNULL mutable_op_histogram(int index);
  ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>* PROTOBUF_NONNULL mutable_op_histogram();

  private:
  const ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>& _internal_op_histogram() const;
  ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>* PROTOBUF_NONNULL _internal_mutable_op_histogram();
  public:
  const ::tensorflow::XlaAutoClusteringSummary_OpAndCount& op_histogram(int index) const;
  ::tensorflow::XlaAutoClusteringSummary_OpAndCount* PROTOBUF_NONNULL add_op_histogram();
  const ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>& op_histogram() const;
  // string name = 1;
  void clear_name() ;
  const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // int32 size = 2;
  void clear_size() ;
  ::int32_t size() const;
  void set_size(::int32_t value);

  private:
  ::int32_t _internal_size() const;
  void _internal_set_size(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.XlaAutoClusteringSummary.Cluster)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   1, 56,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const XlaAutoClusteringSummary_Cluster& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::tensorflow::XlaAutoClusteringSummary_OpAndCount > op_histogram_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::int32_t size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tensorflow_2fcompiler_2fjit_2fxla_5factivity_2eproto;
};

PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull XlaAutoClusteringSummary_Cluster_class_data_;
// -------------------------------------------------------------------

class PROTOBUF_EXPORT XlaAutoClusteringSummary final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.XlaAutoClusteringSummary) */ {
 public:
  inline XlaAutoClusteringSummary() : XlaAutoClusteringSummary(nullptr) {}
  ~XlaAutoClusteringSummary() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(XlaAutoClusteringSummary* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(XlaAutoClusteringSummary));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR XlaAutoClusteringSummary(::google::protobuf::internal::ConstantInitialized);

  inline XlaAutoClusteringSummary(const XlaAutoClusteringSummary& from) : XlaAutoClusteringSummary(nullptr, from) {}
  inline XlaAutoClusteringSummary(XlaAutoClusteringSummary&& from) noexcept
      : XlaAutoClusteringSummary(nullptr, ::std::move(from)) {}
  inline XlaAutoClusteringSummary& operator=(const XlaAutoClusteringSummary& from) {
    CopyFrom(from);
    return *this;
  }
  inline XlaAutoClusteringSummary& operator=(XlaAutoClusteringSummary&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const XlaAutoClusteringSummary& default_instance() {
    return *reinterpret_cast<const XlaAutoClusteringSummary*>(
        &_XlaAutoClusteringSummary_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 2;
  friend void swap(XlaAutoClusteringSummary& a, XlaAutoClusteringSummary& b) { a.Swap(&b); }
  inline void Swap(XlaAutoClusteringSummary* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(XlaAutoClusteringSummary* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  XlaAutoClusteringSummary* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<XlaAutoClusteringSummary>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const XlaAutoClusteringSummary& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const XlaAutoClusteringSummary& from) { XlaAutoClusteringSummary::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(XlaAutoClusteringSummary* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "tensorflow.XlaAutoClusteringSummary"; }

 protected:
  explicit XlaAutoClusteringSummary(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  XlaAutoClusteringSummary(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const XlaAutoClusteringSummary& from);
  XlaAutoClusteringSummary(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, XlaAutoClusteringSummary&& from) noexcept
      : XlaAutoClusteringSummary(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using OpAndCount = XlaAutoClusteringSummary_OpAndCount;
  using Cluster = XlaAutoClusteringSummary_Cluster;

  // accessors -------------------------------------------------------
  enum : int {
    kClustersFieldNumber = 3,
    kUnclusteredOpHistogramFieldNumber = 4,
    kUnclusteredNodeCountFieldNumber = 1,
    kClusteredNodeCountFieldNumber = 2,
  };
  // repeated .tensorflow.XlaAutoClusteringSummary.Cluster clusters = 3;
  int clusters_size() const;
  private:
  int _internal_clusters_size() const;

  public:
  void clear_clusters() ;
  ::tensorflow::XlaAutoClusteringSummary_Cluster* PROTOBUF_NONNULL mutable_clusters(int index);
  ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_Cluster>* PROTOBUF_NONNULL mutable_clusters();

  private:
  const ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_Cluster>& _internal_clusters() const;
  ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_Cluster>* PROTOBUF_NONNULL _internal_mutable_clusters();
  public:
  const ::tensorflow::XlaAutoClusteringSummary_Cluster& clusters(int index) const;
  ::tensorflow::XlaAutoClusteringSummary_Cluster* PROTOBUF_NONNULL add_clusters();
  const ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_Cluster>& clusters() const;
  // repeated .tensorflow.XlaAutoClusteringSummary.OpAndCount unclustered_op_histogram = 4;
  int unclustered_op_histogram_size() const;
  private:
  int _internal_unclustered_op_histogram_size() const;

  public:
  void clear_unclustered_op_histogram() ;
  ::tensorflow::XlaAutoClusteringSummary_OpAndCount* PROTOBUF_NONNULL mutable_unclustered_op_histogram(int index);
  ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>* PROTOBUF_NONNULL mutable_unclustered_op_histogram();

  private:
  const ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>& _internal_unclustered_op_histogram() const;
  ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>* PROTOBUF_NONNULL _internal_mutable_unclustered_op_histogram();
  public:
  const ::tensorflow::XlaAutoClusteringSummary_OpAndCount& unclustered_op_histogram(int index) const;
  ::tensorflow::XlaAutoClusteringSummary_OpAndCount* PROTOBUF_NONNULL add_unclustered_op_histogram();
  const ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>& unclustered_op_histogram() const;
  // int32 unclustered_node_count = 1;
  void clear_unclustered_node_count() ;
  ::int32_t unclustered_node_count() const;
  void set_unclustered_node_count(::int32_t value);

  private:
  ::int32_t _internal_unclustered_node_count() const;
  void _internal_set_unclustered_node_count(::int32_t value);

  public:
  // int32 clustered_node_count = 2;
  void clear_clustered_node_count() ;
  ::int32_t clustered_node_count() const;
  void set_clustered_node_count(::int32_t value);

  private:
  ::int32_t _internal_clustered_node_count() const;
  void _internal_set_clustered_node_count(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.XlaAutoClusteringSummary)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 4,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const XlaAutoClusteringSummary& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::tensorflow::XlaAutoClusteringSummary_Cluster > clusters_;
    ::google::protobuf::RepeatedPtrField< ::tensorflow::XlaAutoClusteringSummary_OpAndCount > unclustered_op_histogram_;
    ::int32_t unclustered_node_count_;
    ::int32_t clustered_node_count_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tensorflow_2fcompiler_2fjit_2fxla_5factivity_2eproto;
};

PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull XlaAutoClusteringSummary_class_data_;
// -------------------------------------------------------------------

class PROTOBUF_EXPORT XlaAutoClusteringActivity final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.XlaAutoClusteringActivity) */ {
 public:
  inline XlaAutoClusteringActivity() : XlaAutoClusteringActivity(nullptr) {}
  ~XlaAutoClusteringActivity() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(XlaAutoClusteringActivity* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(XlaAutoClusteringActivity));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR XlaAutoClusteringActivity(::google::protobuf::internal::ConstantInitialized);

  inline XlaAutoClusteringActivity(const XlaAutoClusteringActivity& from) : XlaAutoClusteringActivity(nullptr, from) {}
  inline XlaAutoClusteringActivity(XlaAutoClusteringActivity&& from) noexcept
      : XlaAutoClusteringActivity(nullptr, ::std::move(from)) {}
  inline XlaAutoClusteringActivity& operator=(const XlaAutoClusteringActivity& from) {
    CopyFrom(from);
    return *this;
  }
  inline XlaAutoClusteringActivity& operator=(XlaAutoClusteringActivity&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const XlaAutoClusteringActivity& default_instance() {
    return *reinterpret_cast<const XlaAutoClusteringActivity*>(
        &_XlaAutoClusteringActivity_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 3;
  friend void swap(XlaAutoClusteringActivity& a, XlaAutoClusteringActivity& b) { a.Swap(&b); }
  inline void Swap(XlaAutoClusteringActivity* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(XlaAutoClusteringActivity* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  XlaAutoClusteringActivity* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<XlaAutoClusteringActivity>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const XlaAutoClusteringActivity& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const XlaAutoClusteringActivity& from) { XlaAutoClusteringActivity::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(XlaAutoClusteringActivity* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "tensorflow.XlaAutoClusteringActivity"; }

 protected:
  explicit XlaAutoClusteringActivity(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  XlaAutoClusteringActivity(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const XlaAutoClusteringActivity& from);
  XlaAutoClusteringActivity(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, XlaAutoClusteringActivity&& from) noexcept
      : XlaAutoClusteringActivity(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kSummaryFieldNumber = 3,
    kGlobalJitLevelFieldNumber = 1,
    kCpuGlobalJitEnabledFieldNumber = 2,
  };
  // .tensorflow.XlaAutoClusteringSummary summary = 3;
  bool has_summary() const;
  void clear_summary() ;
  const ::tensorflow::XlaAutoClusteringSummary& summary() const;
  [[nodiscard]] ::tensorflow::XlaAutoClusteringSummary* PROTOBUF_NULLABLE release_summary();
  ::tensorflow::XlaAutoClusteringSummary* PROTOBUF_NONNULL mutable_summary();
  void set_allocated_summary(::tensorflow::XlaAutoClusteringSummary* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_summary(::tensorflow::XlaAutoClusteringSummary* PROTOBUF_NULLABLE value);
  ::tensorflow::XlaAutoClusteringSummary* PROTOBUF_NULLABLE unsafe_arena_release_summary();

  private:
  const ::tensorflow::XlaAutoClusteringSummary& _internal_summary() const;
  ::tensorflow::XlaAutoClusteringSummary* PROTOBUF_NONNULL _internal_mutable_summary();

  public:
  // .tensorflow.OptimizerOptions.GlobalJitLevel global_jit_level = 1;
  void clear_global_jit_level() ;
  ::tensorflow::OptimizerOptions_GlobalJitLevel global_jit_level() const;
  void set_global_jit_level(::tensorflow::OptimizerOptions_GlobalJitLevel value);

  private:
  ::tensorflow::OptimizerOptions_GlobalJitLevel _internal_global_jit_level() const;
  void _internal_set_global_jit_level(::tensorflow::OptimizerOptions_GlobalJitLevel value);

  public:
  // bool cpu_global_jit_enabled = 2;
  void clear_cpu_global_jit_enabled() ;
  bool cpu_global_jit_enabled() const;
  void set_cpu_global_jit_enabled(bool value);

  private:
  bool _internal_cpu_global_jit_enabled() const;
  void _internal_set_cpu_global_jit_enabled(bool value);

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.XlaAutoClusteringActivity)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const XlaAutoClusteringActivity& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::tensorflow::XlaAutoClusteringSummary* PROTOBUF_NULLABLE summary_;
    int global_jit_level_;
    bool cpu_global_jit_enabled_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tensorflow_2fcompiler_2fjit_2fxla_5factivity_2eproto;
};

PROTOBUF_EXPORT extern const ::google::protobuf::internal::ClassDataFull XlaAutoClusteringActivity_class_data_;

// ===================================================================




// ===================================================================


#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// -------------------------------------------------------------------

// XlaAutoClusteringSummary_OpAndCount

// string op = 1;
inline void XlaAutoClusteringSummary_OpAndCount::clear_op() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.op_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& XlaAutoClusteringSummary_OpAndCount::op() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.XlaAutoClusteringSummary.OpAndCount.op)
  return _internal_op();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void XlaAutoClusteringSummary_OpAndCount::set_op(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.op_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.XlaAutoClusteringSummary.OpAndCount.op)
}
inline ::std::string* PROTOBUF_NONNULL XlaAutoClusteringSummary_OpAndCount::mutable_op()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_op();
  // @@protoc_insertion_point(field_mutable:tensorflow.XlaAutoClusteringSummary.OpAndCount.op)
  return _s;
}
inline const ::std::string& XlaAutoClusteringSummary_OpAndCount::_internal_op() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.op_.Get();
}
inline void XlaAutoClusteringSummary_OpAndCount::_internal_set_op(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.op_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL XlaAutoClusteringSummary_OpAndCount::_internal_mutable_op() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.op_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE XlaAutoClusteringSummary_OpAndCount::release_op() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.XlaAutoClusteringSummary.OpAndCount.op)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.op_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.op_.Set("", GetArena());
  }
  return released;
}
inline void XlaAutoClusteringSummary_OpAndCount::set_allocated_op(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.op_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.op_.IsDefault()) {
    _impl_.op_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:tensorflow.XlaAutoClusteringSummary.OpAndCount.op)
}

// int32 count = 2;
inline void XlaAutoClusteringSummary_OpAndCount::clear_count() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.count_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::int32_t XlaAutoClusteringSummary_OpAndCount::count() const {
  // @@protoc_insertion_point(field_get:tensorflow.XlaAutoClusteringSummary.OpAndCount.count)
  return _internal_count();
}
inline void XlaAutoClusteringSummary_OpAndCount::set_count(::int32_t value) {
  _internal_set_count(value);
  _impl_._has_bits_[0] |= 0x00000002u;
  // @@protoc_insertion_point(field_set:tensorflow.XlaAutoClusteringSummary.OpAndCount.count)
}
inline ::int32_t XlaAutoClusteringSummary_OpAndCount::_internal_count() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.count_;
}
inline void XlaAutoClusteringSummary_OpAndCount::_internal_set_count(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.count_ = value;
}

// -------------------------------------------------------------------

// XlaAutoClusteringSummary_Cluster

// string name = 1;
inline void XlaAutoClusteringSummary_Cluster::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& XlaAutoClusteringSummary_Cluster::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.XlaAutoClusteringSummary.Cluster.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void XlaAutoClusteringSummary_Cluster::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.XlaAutoClusteringSummary.Cluster.name)
}
inline ::std::string* PROTOBUF_NONNULL XlaAutoClusteringSummary_Cluster::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:tensorflow.XlaAutoClusteringSummary.Cluster.name)
  return _s;
}
inline const ::std::string& XlaAutoClusteringSummary_Cluster::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void XlaAutoClusteringSummary_Cluster::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL XlaAutoClusteringSummary_Cluster::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE XlaAutoClusteringSummary_Cluster::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.XlaAutoClusteringSummary.Cluster.name)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void XlaAutoClusteringSummary_Cluster::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:tensorflow.XlaAutoClusteringSummary.Cluster.name)
}

// int32 size = 2;
inline void XlaAutoClusteringSummary_Cluster::clear_size() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.size_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::int32_t XlaAutoClusteringSummary_Cluster::size() const {
  // @@protoc_insertion_point(field_get:tensorflow.XlaAutoClusteringSummary.Cluster.size)
  return _internal_size();
}
inline void XlaAutoClusteringSummary_Cluster::set_size(::int32_t value) {
  _internal_set_size(value);
  _impl_._has_bits_[0] |= 0x00000002u;
  // @@protoc_insertion_point(field_set:tensorflow.XlaAutoClusteringSummary.Cluster.size)
}
inline ::int32_t XlaAutoClusteringSummary_Cluster::_internal_size() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.size_;
}
inline void XlaAutoClusteringSummary_Cluster::_internal_set_size(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.size_ = value;
}

// repeated .tensorflow.XlaAutoClusteringSummary.OpAndCount op_histogram = 3;
inline int XlaAutoClusteringSummary_Cluster::_internal_op_histogram_size() const {
  return _internal_op_histogram().size();
}
inline int XlaAutoClusteringSummary_Cluster::op_histogram_size() const {
  return _internal_op_histogram_size();
}
inline void XlaAutoClusteringSummary_Cluster::clear_op_histogram() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.op_histogram_.Clear();
}
inline ::tensorflow::XlaAutoClusteringSummary_OpAndCount* PROTOBUF_NONNULL XlaAutoClusteringSummary_Cluster::mutable_op_histogram(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:tensorflow.XlaAutoClusteringSummary.Cluster.op_histogram)
  return _internal_mutable_op_histogram()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>* PROTOBUF_NONNULL XlaAutoClusteringSummary_Cluster::mutable_op_histogram()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.XlaAutoClusteringSummary.Cluster.op_histogram)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_op_histogram();
}
inline const ::tensorflow::XlaAutoClusteringSummary_OpAndCount& XlaAutoClusteringSummary_Cluster::op_histogram(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.XlaAutoClusteringSummary.Cluster.op_histogram)
  return _internal_op_histogram().Get(index);
}
inline ::tensorflow::XlaAutoClusteringSummary_OpAndCount* PROTOBUF_NONNULL XlaAutoClusteringSummary_Cluster::add_op_histogram()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::tensorflow::XlaAutoClusteringSummary_OpAndCount* _add = _internal_mutable_op_histogram()->Add();
  // @@protoc_insertion_point(field_add:tensorflow.XlaAutoClusteringSummary.Cluster.op_histogram)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>& XlaAutoClusteringSummary_Cluster::op_histogram() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:tensorflow.XlaAutoClusteringSummary.Cluster.op_histogram)
  return _internal_op_histogram();
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>&
XlaAutoClusteringSummary_Cluster::_internal_op_histogram() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.op_histogram_;
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>* PROTOBUF_NONNULL
XlaAutoClusteringSummary_Cluster::_internal_mutable_op_histogram() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.op_histogram_;
}

// -------------------------------------------------------------------

// XlaAutoClusteringSummary

// int32 unclustered_node_count = 1;
inline void XlaAutoClusteringSummary::clear_unclustered_node_count() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.unclustered_node_count_ = 0;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline ::int32_t XlaAutoClusteringSummary::unclustered_node_count() const {
  // @@protoc_insertion_point(field_get:tensorflow.XlaAutoClusteringSummary.unclustered_node_count)
  return _internal_unclustered_node_count();
}
inline void XlaAutoClusteringSummary::set_unclustered_node_count(::int32_t value) {
  _internal_set_unclustered_node_count(value);
  _impl_._has_bits_[0] |= 0x00000001u;
  // @@protoc_insertion_point(field_set:tensorflow.XlaAutoClusteringSummary.unclustered_node_count)
}
inline ::int32_t XlaAutoClusteringSummary::_internal_unclustered_node_count() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.unclustered_node_count_;
}
inline void XlaAutoClusteringSummary::_internal_set_unclustered_node_count(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.unclustered_node_count_ = value;
}

// int32 clustered_node_count = 2;
inline void XlaAutoClusteringSummary::clear_clustered_node_count() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.clustered_node_count_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::int32_t XlaAutoClusteringSummary::clustered_node_count() const {
  // @@protoc_insertion_point(field_get:tensorflow.XlaAutoClusteringSummary.clustered_node_count)
  return _internal_clustered_node_count();
}
inline void XlaAutoClusteringSummary::set_clustered_node_count(::int32_t value) {
  _internal_set_clustered_node_count(value);
  _impl_._has_bits_[0] |= 0x00000002u;
  // @@protoc_insertion_point(field_set:tensorflow.XlaAutoClusteringSummary.clustered_node_count)
}
inline ::int32_t XlaAutoClusteringSummary::_internal_clustered_node_count() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.clustered_node_count_;
}
inline void XlaAutoClusteringSummary::_internal_set_clustered_node_count(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.clustered_node_count_ = value;
}

// repeated .tensorflow.XlaAutoClusteringSummary.Cluster clusters = 3;
inline int XlaAutoClusteringSummary::_internal_clusters_size() const {
  return _internal_clusters().size();
}
inline int XlaAutoClusteringSummary::clusters_size() const {
  return _internal_clusters_size();
}
inline void XlaAutoClusteringSummary::clear_clusters() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.clusters_.Clear();
}
inline ::tensorflow::XlaAutoClusteringSummary_Cluster* PROTOBUF_NONNULL XlaAutoClusteringSummary::mutable_clusters(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:tensorflow.XlaAutoClusteringSummary.clusters)
  return _internal_mutable_clusters()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_Cluster>* PROTOBUF_NONNULL XlaAutoClusteringSummary::mutable_clusters()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.XlaAutoClusteringSummary.clusters)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_clusters();
}
inline const ::tensorflow::XlaAutoClusteringSummary_Cluster& XlaAutoClusteringSummary::clusters(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.XlaAutoClusteringSummary.clusters)
  return _internal_clusters().Get(index);
}
inline ::tensorflow::XlaAutoClusteringSummary_Cluster* PROTOBUF_NONNULL XlaAutoClusteringSummary::add_clusters()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::tensorflow::XlaAutoClusteringSummary_Cluster* _add = _internal_mutable_clusters()->Add();
  // @@protoc_insertion_point(field_add:tensorflow.XlaAutoClusteringSummary.clusters)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_Cluster>& XlaAutoClusteringSummary::clusters() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:tensorflow.XlaAutoClusteringSummary.clusters)
  return _internal_clusters();
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_Cluster>&
XlaAutoClusteringSummary::_internal_clusters() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.clusters_;
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_Cluster>* PROTOBUF_NONNULL
XlaAutoClusteringSummary::_internal_mutable_clusters() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.clusters_;
}

// repeated .tensorflow.XlaAutoClusteringSummary.OpAndCount unclustered_op_histogram = 4;
inline int XlaAutoClusteringSummary::_internal_unclustered_op_histogram_size() const {
  return _internal_unclustered_op_histogram().size();
}
inline int XlaAutoClusteringSummary::unclustered_op_histogram_size() const {
  return _internal_unclustered_op_histogram_size();
}
inline void XlaAutoClusteringSummary::clear_unclustered_op_histogram() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.unclustered_op_histogram_.Clear();
}
inline ::tensorflow::XlaAutoClusteringSummary_OpAndCount* PROTOBUF_NONNULL XlaAutoClusteringSummary::mutable_unclustered_op_histogram(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:tensorflow.XlaAutoClusteringSummary.unclustered_op_histogram)
  return _internal_mutable_unclustered_op_histogram()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>* PROTOBUF_NONNULL XlaAutoClusteringSummary::mutable_unclustered_op_histogram()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.XlaAutoClusteringSummary.unclustered_op_histogram)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_unclustered_op_histogram();
}
inline const ::tensorflow::XlaAutoClusteringSummary_OpAndCount& XlaAutoClusteringSummary::unclustered_op_histogram(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.XlaAutoClusteringSummary.unclustered_op_histogram)
  return _internal_unclustered_op_histogram().Get(index);
}
inline ::tensorflow::XlaAutoClusteringSummary_OpAndCount* PROTOBUF_NONNULL XlaAutoClusteringSummary::add_unclustered_op_histogram()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::tensorflow::XlaAutoClusteringSummary_OpAndCount* _add = _internal_mutable_unclustered_op_histogram()->Add();
  // @@protoc_insertion_point(field_add:tensorflow.XlaAutoClusteringSummary.unclustered_op_histogram)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>& XlaAutoClusteringSummary::unclustered_op_histogram() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:tensorflow.XlaAutoClusteringSummary.unclustered_op_histogram)
  return _internal_unclustered_op_histogram();
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>&
XlaAutoClusteringSummary::_internal_unclustered_op_histogram() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.unclustered_op_histogram_;
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::XlaAutoClusteringSummary_OpAndCount>* PROTOBUF_NONNULL
XlaAutoClusteringSummary::_internal_mutable_unclustered_op_histogram() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.unclustered_op_histogram_;
}

// -------------------------------------------------------------------

// XlaAutoClusteringActivity

// .tensorflow.OptimizerOptions.GlobalJitLevel global_jit_level = 1;
inline void XlaAutoClusteringActivity::clear_global_jit_level() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.global_jit_level_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::tensorflow::OptimizerOptions_GlobalJitLevel XlaAutoClusteringActivity::global_jit_level() const {
  // @@protoc_insertion_point(field_get:tensorflow.XlaAutoClusteringActivity.global_jit_level)
  return _internal_global_jit_level();
}
inline void XlaAutoClusteringActivity::set_global_jit_level(::tensorflow::OptimizerOptions_GlobalJitLevel value) {
  _internal_set_global_jit_level(value);
  _impl_._has_bits_[0] |= 0x00000002u;
  // @@protoc_insertion_point(field_set:tensorflow.XlaAutoClusteringActivity.global_jit_level)
}
inline ::tensorflow::OptimizerOptions_GlobalJitLevel XlaAutoClusteringActivity::_internal_global_jit_level() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::tensorflow::OptimizerOptions_GlobalJitLevel>(_impl_.global_jit_level_);
}
inline void XlaAutoClusteringActivity::_internal_set_global_jit_level(::tensorflow::OptimizerOptions_GlobalJitLevel value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.global_jit_level_ = value;
}

// bool cpu_global_jit_enabled = 2;
inline void XlaAutoClusteringActivity::clear_cpu_global_jit_enabled() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.cpu_global_jit_enabled_ = false;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline bool XlaAutoClusteringActivity::cpu_global_jit_enabled() const {
  // @@protoc_insertion_point(field_get:tensorflow.XlaAutoClusteringActivity.cpu_global_jit_enabled)
  return _internal_cpu_global_jit_enabled();
}
inline void XlaAutoClusteringActivity::set_cpu_global_jit_enabled(bool value) {
  _internal_set_cpu_global_jit_enabled(value);
  _impl_._has_bits_[0] |= 0x00000004u;
  // @@protoc_insertion_point(field_set:tensorflow.XlaAutoClusteringActivity.cpu_global_jit_enabled)
}
inline bool XlaAutoClusteringActivity::_internal_cpu_global_jit_enabled() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.cpu_global_jit_enabled_;
}
inline void XlaAutoClusteringActivity::_internal_set_cpu_global_jit_enabled(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.cpu_global_jit_enabled_ = value;
}

// .tensorflow.XlaAutoClusteringSummary summary = 3;
inline bool XlaAutoClusteringActivity::has_summary() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.summary_ != nullptr);
  return value;
}
inline void XlaAutoClusteringActivity::clear_summary() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.summary_ != nullptr) _impl_.summary_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::tensorflow::XlaAutoClusteringSummary& XlaAutoClusteringActivity::_internal_summary() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::tensorflow::XlaAutoClusteringSummary* p = _impl_.summary_;
  return p != nullptr ? *p : reinterpret_cast<const ::tensorflow::XlaAutoClusteringSummary&>(::tensorflow::_XlaAutoClusteringSummary_default_instance_);
}
inline const ::tensorflow::XlaAutoClusteringSummary& XlaAutoClusteringActivity::summary() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.XlaAutoClusteringActivity.summary)
  return _internal_summary();
}
inline void XlaAutoClusteringActivity::unsafe_arena_set_allocated_summary(
    ::tensorflow::XlaAutoClusteringSummary* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.summary_);
  }
  _impl_.summary_ = reinterpret_cast<::tensorflow::XlaAutoClusteringSummary*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:tensorflow.XlaAutoClusteringActivity.summary)
}
inline ::tensorflow::XlaAutoClusteringSummary* PROTOBUF_NULLABLE XlaAutoClusteringActivity::release_summary() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000001u;
  ::tensorflow::XlaAutoClusteringSummary* released = _impl_.summary_;
  _impl_.summary_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::tensorflow::XlaAutoClusteringSummary* PROTOBUF_NULLABLE XlaAutoClusteringActivity::unsafe_arena_release_summary() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.XlaAutoClusteringActivity.summary)

  _impl_._has_bits_[0] &= ~0x00000001u;
  ::tensorflow::XlaAutoClusteringSummary* temp = _impl_.summary_;
  _impl_.summary_ = nullptr;
  return temp;
}
inline ::tensorflow::XlaAutoClusteringSummary* PROTOBUF_NONNULL XlaAutoClusteringActivity::_internal_mutable_summary() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.summary_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::tensorflow::XlaAutoClusteringSummary>(GetArena());
    _impl_.summary_ = reinterpret_cast<::tensorflow::XlaAutoClusteringSummary*>(p);
  }
  return _impl_.summary_;
}
inline ::tensorflow::XlaAutoClusteringSummary* PROTOBUF_NONNULL XlaAutoClusteringActivity::mutable_summary()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000001u;
  ::tensorflow::XlaAutoClusteringSummary* _msg = _internal_mutable_summary();
  // @@protoc_insertion_point(field_mutable:tensorflow.XlaAutoClusteringActivity.summary)
  return _msg;
}
inline void XlaAutoClusteringActivity::set_allocated_summary(::tensorflow::XlaAutoClusteringSummary* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.summary_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }

  _impl_.summary_ = reinterpret_cast<::tensorflow::XlaAutoClusteringSummary*>(value);
  // @@protoc_insertion_point(field_set_allocated:tensorflow.XlaAutoClusteringActivity.summary)
}

// -------------------------------------------------------------------

// XlaJitCompilationActivity

// string cluster_name = 1;
inline void XlaJitCompilationActivity::clear_cluster_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.cluster_name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& XlaJitCompilationActivity::cluster_name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.XlaJitCompilationActivity.cluster_name)
  return _internal_cluster_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void XlaJitCompilationActivity::set_cluster_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.cluster_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.XlaJitCompilationActivity.cluster_name)
}
inline ::std::string* PROTOBUF_NONNULL XlaJitCompilationActivity::mutable_cluster_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_cluster_name();
  // @@protoc_insertion_point(field_mutable:tensorflow.XlaJitCompilationActivity.cluster_name)
  return _s;
}
inline const ::std::string& XlaJitCompilationActivity::_internal_cluster_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.cluster_name_.Get();
}
inline void XlaJitCompilationActivity::_internal_set_cluster_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.cluster_name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL XlaJitCompilationActivity::_internal_mutable_cluster_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.cluster_name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE XlaJitCompilationActivity::release_cluster_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.XlaJitCompilationActivity.cluster_name)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.cluster_name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.cluster_name_.Set("", GetArena());
  }
  return released;
}
inline void XlaJitCompilationActivity::set_allocated_cluster_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.cluster_name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.cluster_name_.IsDefault()) {
    _impl_.cluster_name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:tensorflow.XlaJitCompilationActivity.cluster_name)
}

// int32 compile_count = 2;
inline void XlaJitCompilationActivity::clear_compile_count() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.compile_count_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline ::int32_t XlaJitCompilationActivity::compile_count() const {
  // @@protoc_insertion_point(field_get:tensorflow.XlaJitCompilationActivity.compile_count)
  return _internal_compile_count();
}
inline void XlaJitCompilationActivity::set_compile_count(::int32_t value) {
  _internal_set_compile_count(value);
  _impl_._has_bits_[0] |= 0x00000004u;
  // @@protoc_insertion_point(field_set:tensorflow.XlaJitCompilationActivity.compile_count)
}
inline ::int32_t XlaJitCompilationActivity::_internal_compile_count() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.compile_count_;
}
inline void XlaJitCompilationActivity::_internal_set_compile_count(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.compile_count_ = value;
}

// int64 compile_time_us = 3;
inline void XlaJitCompilationActivity::clear_compile_time_us() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.compile_time_us_ = ::int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::int64_t XlaJitCompilationActivity::compile_time_us() const {
  // @@protoc_insertion_point(field_get:tensorflow.XlaJitCompilationActivity.compile_time_us)
  return _internal_compile_time_us();
}
inline void XlaJitCompilationActivity::set_compile_time_us(::int64_t value) {
  _internal_set_compile_time_us(value);
  _impl_._has_bits_[0] |= 0x00000002u;
  // @@protoc_insertion_point(field_set:tensorflow.XlaJitCompilationActivity.compile_time_us)
}
inline ::int64_t XlaJitCompilationActivity::_internal_compile_time_us() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.compile_time_us_;
}
inline void XlaJitCompilationActivity::_internal_set_compile_time_us(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.compile_time_us_ = value;
}

// int64 cumulative_compile_time_us = 4;
inline void XlaJitCompilationActivity::clear_cumulative_compile_time_us() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.cumulative_compile_time_us_ = ::int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline ::int64_t XlaJitCompilationActivity::cumulative_compile_time_us() const {
  // @@protoc_insertion_point(field_get:tensorflow.XlaJitCompilationActivity.cumulative_compile_time_us)
  return _internal_cumulative_compile_time_us();
}
inline void XlaJitCompilationActivity::set_cumulative_compile_time_us(::int64_t value) {
  _internal_set_cumulative_compile_time_us(value);
  _impl_._has_bits_[0] |= 0x00000010u;
  // @@protoc_insertion_point(field_set:tensorflow.XlaJitCompilationActivity.cumulative_compile_time_us)
}
inline ::int64_t XlaJitCompilationActivity::_internal_cumulative_compile_time_us() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.cumulative_compile_time_us_;
}
inline void XlaJitCompilationActivity::_internal_set_cumulative_compile_time_us(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.cumulative_compile_time_us_ = value;
}

// bool used_persistent_cache = 5;
inline void XlaJitCompilationActivity::clear_used_persistent_cache() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.used_persistent_cache_ = false;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline bool XlaJitCompilationActivity::used_persistent_cache() const {
  // @@protoc_insertion_point(field_get:tensorflow.XlaJitCompilationActivity.used_persistent_cache)
  return _internal_used_persistent_cache();
}
inline void XlaJitCompilationActivity::set_used_persistent_cache(bool value) {
  _internal_set_used_persistent_cache(value);
  _impl_._has_bits_[0] |= 0x00000008u;
  // @@protoc_insertion_point(field_set:tensorflow.XlaJitCompilationActivity.used_persistent_cache)
}
inline bool XlaJitCompilationActivity::_internal_used_persistent_cache() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.used_persistent_cache_;
}
inline void XlaJitCompilationActivity::_internal_set_used_persistent_cache(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.used_persistent_cache_ = value;
}

// -------------------------------------------------------------------

// XlaOptimizationRemark

// .tensorflow.XlaOptimizationRemark.Warning warning = 1;
inline void XlaOptimizationRemark::clear_warning() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.warning_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::tensorflow::XlaOptimizationRemark_Warning XlaOptimizationRemark::warning() const {
  // @@protoc_insertion_point(field_get:tensorflow.XlaOptimizationRemark.warning)
  return _internal_warning();
}
inline void XlaOptimizationRemark::set_warning(::tensorflow::XlaOptimizationRemark_Warning value) {
  _internal_set_warning(value);
  _impl_._has_bits_[0] |= 0x00000002u;
  // @@protoc_insertion_point(field_set:tensorflow.XlaOptimizationRemark.warning)
}
inline ::tensorflow::XlaOptimizationRemark_Warning XlaOptimizationRemark::_internal_warning() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::tensorflow::XlaOptimizationRemark_Warning>(_impl_.warning_);
}
inline void XlaOptimizationRemark::_internal_set_warning(::tensorflow::XlaOptimizationRemark_Warning value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.warning_ = value;
}

// string debug_information = 2;
inline void XlaOptimizationRemark::clear_debug_information() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.debug_information_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& XlaOptimizationRemark::debug_information() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.XlaOptimizationRemark.debug_information)
  return _internal_debug_information();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void XlaOptimizationRemark::set_debug_information(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.debug_information_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.XlaOptimizationRemark.debug_information)
}
inline ::std::string* PROTOBUF_NONNULL XlaOptimizationRemark::mutable_debug_information()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_debug_information();
  // @@protoc_insertion_point(field_mutable:tensorflow.XlaOptimizationRemark.debug_information)
  return _s;
}
inline const ::std::string& XlaOptimizationRemark::_internal_debug_information() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.debug_information_.Get();
}
inline void XlaOptimizationRemark::_internal_set_debug_information(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.debug_information_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL XlaOptimizationRemark::_internal_mutable_debug_information() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.debug_information_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE XlaOptimizationRemark::release_debug_information() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.XlaOptimizationRemark.debug_information)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.debug_information_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.debug_information_.Set("", GetArena());
  }
  return released;
}
inline void XlaOptimizationRemark::set_allocated_debug_information(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.debug_information_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.debug_information_.IsDefault()) {
    _impl_.debug_information_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:tensorflow.XlaOptimizationRemark.debug_information)
}

#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace tensorflow


namespace google {
namespace protobuf {

template <>
struct is_proto_enum<::tensorflow::XlaOptimizationRemark_Warning> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::tensorflow::XlaOptimizationRemark_Warning>() {
  return ::tensorflow::XlaOptimizationRemark_Warning_descriptor();
}

}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // tensorflow_2fcompiler_2fjit_2fxla_5factivity_2eproto_2epb_2eh
