diff --git a/tensorflow/lite/delegates/gpu/api.cc b/tensorflow/lite/delegates/gpu/api.cc index 1a18fcb87f2..cddd14b6855 100644 --- a/tensorflow/lite/delegates/gpu/api.cc +++ b/tensorflow/lite/delegates/gpu/api.cc @@ -80,19 +80,19 @@ bool IsValid(const TensorObjectDef& def, const TensorObject& object) { bool IsObjectPresent(ObjectType type, const TensorObject& obj) { switch (type) { case ObjectType::CPU_MEMORY: - return absl::get_if(&obj); + return absl::holds_alternative(obj); case ObjectType::OPENGL_SSBO: - return absl::get_if(&obj); + return absl::holds_alternative(obj); case ObjectType::OPENGL_TEXTURE: - return absl::get_if(&obj); + return absl::holds_alternative(obj); case ObjectType::OPENCL_BUFFER: - return absl::get_if(&obj); + return absl::holds_alternative(obj); case ObjectType::OPENCL_TEXTURE: - return absl::get_if(&obj); + return absl::holds_alternative(obj); case ObjectType::VULKAN_BUFFER: - return absl::get_if(&obj); + return absl::holds_alternative(obj); case ObjectType::VULKAN_TEXTURE: - return absl::get_if(&obj); + return absl::holds_alternative(obj); case ObjectType::UNKNOWN: return false; } diff --git a/tensorflow/lite/delegates/gpu/cl/gl_interop.cc b/tensorflow/lite/delegates/gpu/cl/gl_interop.cc index eaeff2cda07..599e6766301 100644 --- a/tensorflow/lite/delegates/gpu/cl/gl_interop.cc +++ b/tensorflow/lite/delegates/gpu/cl/gl_interop.cc @@ -273,7 +273,7 @@ GlClBufferCopier::GlClBufferCopier(const TensorObjectDef& input_def, absl::Status GlClBufferCopier::Convert(const TensorObject& input_obj, const TensorObject& output_obj) { - if (absl::get_if(&input_obj)) { + if (absl::holds_alternative(input_obj)) { auto ssbo = absl::get_if(&input_obj); auto cl_mem = absl::get_if(&output_obj); RETURN_IF_ERROR( diff --git a/tensorflow/lite/delegates/gpu/common/transformations/fuse_add_to_conv.cc b/tensorflow/lite/delegates/gpu/common/transformations/fuse_add_to_conv.cc index 4efb98a6847..b279e49e40c 100644 --- a/tensorflow/lite/delegates/gpu/common/transformations/fuse_add_to_conv.cc +++ b/tensorflow/lite/delegates/gpu/common/transformations/fuse_add_to_conv.cc @@ -48,8 +48,9 @@ class MergeConvolutionWithAdd : public SequenceTransformation { } AddAttributes add_attr = absl::any_cast(add_node.operation.attributes); - if (!absl::get_if>(&add_attr.param) && - !absl::get_if(&add_attr.param)) { + if (!absl::holds_alternative>( + add_attr.param) && + !absl::holds_alternative(add_attr.param)) { return {TransformStatus::DECLINED, "This fuse applicable only for broadcast or scalar addition."}; } @@ -104,8 +105,9 @@ class MergeAddWithConvolution : public SequenceTransformation { } AddAttributes add_attr = absl::any_cast(add_node.operation.attributes); - if (!absl::get_if>(&add_attr.param) && - !absl::get_if(&add_attr.param)) { + if (!absl::holds_alternative>( + add_attr.param) && + !absl::holds_alternative(add_attr.param)) { return {TransformStatus::DECLINED, "This fuse applicable only for broadcast or scalar addition."}; } diff --git a/tensorflow/lite/delegates/gpu/common/transformations/fuse_mul_to_conv.cc b/tensorflow/lite/delegates/gpu/common/transformations/fuse_mul_to_conv.cc index 749382c3417..f4ace3c0d41 100644 --- a/tensorflow/lite/delegates/gpu/common/transformations/fuse_mul_to_conv.cc +++ b/tensorflow/lite/delegates/gpu/common/transformations/fuse_mul_to_conv.cc @@ -45,8 +45,9 @@ class MergeConvolutionWithMul : public SequenceTransformation { MultiplyAttributes mul_attr = absl::any_cast(mul_node.operation.attributes); - if (!absl::get_if>(&mul_attr.param) && - !absl::get_if(&mul_attr.param)) { + if (!absl::holds_alternative>( + mul_attr.param) && + !absl::holds_alternative(mul_attr.param)) { return { TransformStatus::DECLINED, "This fuse applicable only for broadcast or scalar multiplication."}; @@ -108,9 +109,9 @@ class MergeMulWithConvolution : public SequenceTransformation { MultiplyAttributes mul_attr = absl::any_cast(mul_node.operation.attributes); - if (!absl::get_if>( - &mul_attr.param) && - !absl::get_if(&mul_attr.param)) { + if (!absl::holds_alternative>( + mul_attr.param) && + !absl::holds_alternative(mul_attr.param)) { return { TransformStatus::DECLINED, "This fuse applicable only for broadcast or scalar multiplication."}; diff --git a/tensorflow/lite/delegates/gpu/common/transformations/merge_padding_with.cc b/tensorflow/lite/delegates/gpu/common/transformations/merge_padding_with.cc index 23e99bc3305..2f1621eb34b 100644 --- a/tensorflow/lite/delegates/gpu/common/transformations/merge_padding_with.cc +++ b/tensorflow/lite/delegates/gpu/common/transformations/merge_padding_with.cc @@ -146,10 +146,11 @@ class MergePaddingWithAddOperation : public NodeTransformation { AddAttributes add_attr = absl::any_cast(add_node->operation.attributes); - const auto add_broadcast = - absl::get_if>(&add_attr.param); - const float* add_scalar = absl::get_if(&add_attr.param); - if (add_broadcast || add_scalar) { + const bool is_add_broadcast = + absl::holds_alternative>( + add_attr.param); + const bool is_add_scalar = absl::holds_alternative(add_attr.param); + if (is_add_broadcast || is_add_scalar) { return {TransformStatus::SKIPPED, "Cannot remove padding when this broadcast/scalar ADD"}; } diff --git a/tensorflow/lite/delegates/gpu/common/transformations/remove_noop.cc b/tensorflow/lite/delegates/gpu/common/transformations/remove_noop.cc index e80b244b34f..b4cdd87109a 100644 --- a/tensorflow/lite/delegates/gpu/common/transformations/remove_noop.cc +++ b/tensorflow/lite/delegates/gpu/common/transformations/remove_noop.cc @@ -77,9 +77,9 @@ std::unique_ptr NewRemoveSingleInputAdd() { } auto& attr = absl::any_cast(node->operation.attributes); - return absl::get_if>(&attr.param) == - nullptr && - absl::get_if(&attr.param) == nullptr; + return !absl::holds_alternative>( + attr.param) && + !absl::holds_alternative(attr.param); }); } diff --git a/tensorflow/lite/delegates/gpu/gl/object.h b/tensorflow/lite/delegates/gpu/gl/object.h index 3463d0678b6..0c2a2326356 100644 --- a/tensorflow/lite/delegates/gpu/gl/object.h +++ b/tensorflow/lite/delegates/gpu/gl/object.h @@ -70,7 +70,7 @@ struct Object { // @return true if object is a reference. inline bool IsRef(const Object& object) { - return !absl::get_if(&object.object); + return !absl::holds_alternative(object.object); } inline ObjectRef GetRef(const Object& object) { diff --git a/tensorflow/lite/delegates/gpu/gl/runtime.cc b/tensorflow/lite/delegates/gpu/gl/runtime.cc index 2a48b59c8d9..b7e01a33570 100644 --- a/tensorflow/lite/delegates/gpu/gl/runtime.cc +++ b/tensorflow/lite/delegates/gpu/gl/runtime.cc @@ -483,7 +483,7 @@ absl::Status ApplyTexturesAssignment( Object* object = global_ref_to_object_ptr[global_ref]; if (usage_rec_id == kNotAssigned || object == nullptr || object->object_type != ObjectType::TEXTURE || - !absl::get_if(&object->size)) { + !absl::holds_alternative(object->size)) { // Skip objects with other data type, non-textures and textures with wrong // number of dimensions. continue;