From 0c854246295638275d808be564ea1be5a5520412 Mon Sep 17 00:00:00 2001 From: Viet-Hoa Do Date: Wed, 16 Aug 2023 10:29:00 +0100 Subject: Fix various static check issues Resolves: COMPMID-6495 Signed-off-by: Viet-Hoa Do Change-Id: I916829222a6211fa096a833a2afc5fab5eb34ea4 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/10143 Reviewed-by: Jakub Sujak Benchmark: Arm Jenkins Tested-by: Arm Jenkins Comments-Addressed: Arm Jenkins --- arm_compute/core/Error.h | 7 ++++--- arm_compute/core/Validate.h | 16 ++++++++-------- src/core/CL/CLCompileContext.cpp | 4 ++-- src/core/NEON/kernels/arm_gemm/gemm_hybrid_indirect.hpp | 2 +- src/cpu/operators/internal/CpuGemmAssemblyDispatch.cpp | 2 +- 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/arm_compute/core/Error.h b/arm_compute/core/Error.h index c9a0d85f0c..0854f2c527 100644 --- a/arm_compute/core/Error.h +++ b/arm_compute/core/Error.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2019, 2021 Arm Limited. + * Copyright (c) 2016-2019, 2021, 2023 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -204,9 +204,10 @@ Status create_error_msg(ErrorCode error_code, const char *func, const char *file #define ARM_COMPUTE_RETURN_ON_ERROR(status) \ do \ { \ - if(!bool(status)) \ + const auto s = status; \ + if(!bool(s)) \ { \ - return status; \ + return s; \ } \ } while(false) diff --git a/arm_compute/core/Validate.h b/arm_compute/core/Validate.h index cf7eb8b663..5bffc16f3b 100644 --- a/arm_compute/core/Validate.h +++ b/arm_compute/core/Validate.h @@ -490,9 +490,9 @@ inline arm_compute::Status error_on_mismatching_shapes(const char *function, con { ARM_COMPUTE_RETURN_ERROR_ON_LOC(tensor_info_1 == nullptr, function, file, line); ARM_COMPUTE_RETURN_ERROR_ON_LOC(tensor_info_2 == nullptr, function, file, line); - ARM_COMPUTE_RETURN_ON_ERROR(::arm_compute::error_on_nullptr(function, file, line, std::forward(tensor_infos)...)); + ARM_COMPUTE_RETURN_ON_ERROR(::arm_compute::error_on_nullptr(function, file, line, tensor_infos...)); - const std::array < const ITensorInfo *, 2 + sizeof...(Ts) > tensors_info_array{ { tensor_info_1, tensor_info_2, std::forward(tensor_infos)... } }; + const std::array < const ITensorInfo *, 2 + sizeof...(Ts) > tensors_info_array{ { tensor_info_1, tensor_info_2, tensor_infos... } }; ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(std::any_of(std::next(tensors_info_array.cbegin()), tensors_info_array.cend(), [&](const ITensorInfo * tensor_info) { return detail::have_different_dimensions((*tensors_info_array.cbegin())->tensor_shape(), tensor_info->tensor_shape(), upper_dim); @@ -518,7 +518,7 @@ inline arm_compute::Status error_on_mismatching_shapes(const char *function, con { ARM_COMPUTE_RETURN_ERROR_ON_LOC(tensor_1 == nullptr, function, file, line); ARM_COMPUTE_RETURN_ERROR_ON_LOC(tensor_2 == nullptr, function, file, line); - ARM_COMPUTE_RETURN_ON_ERROR(::arm_compute::error_on_nullptr(function, file, line, std::forward(tensors)...)); + ARM_COMPUTE_RETURN_ON_ERROR(::arm_compute::error_on_nullptr(function, file, line, tensors...)); ARM_COMPUTE_RETURN_ON_ERROR(::arm_compute::error_on_mismatching_shapes(function, file, line, upper_dim, tensor_1->info(), tensor_2->info(), detail::get_tensor_info_t()(tensors)...)); return arm_compute::Status{}; @@ -543,10 +543,10 @@ inline arm_compute::Status error_on_mismatching_data_layouts(const char *functio const ITensorInfo *tensor_info, Ts... tensor_infos) { ARM_COMPUTE_RETURN_ERROR_ON_LOC(tensor_info == nullptr, function, file, line); - ARM_COMPUTE_RETURN_ON_ERROR(::arm_compute::error_on_nullptr(function, file, line, std::forward(tensor_infos)...)); + ARM_COMPUTE_RETURN_ON_ERROR(::arm_compute::error_on_nullptr(function, file, line, tensor_infos...)); DataLayout &&tensor_data_layout = tensor_info->data_layout(); - const std::array tensors_infos_array{ { std::forward(tensor_infos)... } }; + const std::array tensors_infos_array{ { tensor_infos... } }; ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(std::any_of(tensors_infos_array.begin(), tensors_infos_array.end(), [&](const ITensorInfo * tensor_info_obj) { return tensor_info_obj->data_layout() != tensor_data_layout; @@ -594,10 +594,10 @@ inline arm_compute::Status error_on_mismatching_data_types(const char *function, const ITensorInfo *tensor_info, Ts... tensor_infos) { ARM_COMPUTE_RETURN_ERROR_ON_LOC(tensor_info == nullptr, function, file, line); - ARM_COMPUTE_RETURN_ON_ERROR(::arm_compute::error_on_nullptr(function, file, line, std::forward(tensor_infos)...)); + ARM_COMPUTE_RETURN_ON_ERROR(::arm_compute::error_on_nullptr(function, file, line, tensor_infos...)); DataType &&tensor_data_type = tensor_info->data_type(); - const std::array tensors_infos_array{ { std::forward(tensor_infos)... } }; + const std::array tensors_infos_array{ { tensor_infos... } }; ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(std::any_of(tensors_infos_array.begin(), tensors_infos_array.end(), [&](const ITensorInfo * tensor_info_obj) { return tensor_info_obj->data_type() != tensor_data_type; @@ -620,7 +620,7 @@ inline arm_compute::Status error_on_mismatching_data_types(const char *function, const ITensor *tensor, Ts... tensors) { ARM_COMPUTE_RETURN_ERROR_ON_LOC(tensor == nullptr, function, file, line); - ARM_COMPUTE_RETURN_ON_ERROR(::arm_compute::error_on_nullptr(function, file, line, std::forward(tensors)...)); + ARM_COMPUTE_RETURN_ON_ERROR(::arm_compute::error_on_nullptr(function, file, line, tensors...)); ARM_COMPUTE_RETURN_ON_ERROR(::arm_compute::error_on_mismatching_data_types(function, file, line, tensor->info(), detail::get_tensor_info_t()(tensors)...)); return arm_compute::Status{}; diff --git a/src/core/CL/CLCompileContext.cpp b/src/core/CL/CLCompileContext.cpp index ea03d59fc2..2d024f9c2f 100644 --- a/src/core/CL/CLCompileContext.cpp +++ b/src/core/CL/CLCompileContext.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 Arm Limited. + * Copyright (c) 2020-2023 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -331,8 +331,8 @@ const cl::Device &CLCompileContext::get_device() const void CLCompileContext::set_device(cl::Device device) { - _device = std::move(device); _is_wbsm_supported = get_wbsm_support_info(device); + _device = std::move(device); } cl::NDRange CLCompileContext::default_ndrange() const diff --git a/src/core/NEON/kernels/arm_gemm/gemm_hybrid_indirect.hpp b/src/core/NEON/kernels/arm_gemm/gemm_hybrid_indirect.hpp index 0bbcd10b66..1780375c44 100644 --- a/src/core/NEON/kernels/arm_gemm/gemm_hybrid_indirect.hpp +++ b/src/core/NEON/kernels/arm_gemm/gemm_hybrid_indirect.hpp @@ -440,7 +440,7 @@ public: in_row_strings = std::vector(_args._Ksections, nullptr); for (unsigned int i=0; i<_args._Ksections; i++) { - in_row_strings[i] = &(in_row_ptrs[i * strategy::out_height()]); + in_row_strings[i] = &(in_row_ptrs.data()[i * strategy::out_height()]); } } diff --git a/src/cpu/operators/internal/CpuGemmAssemblyDispatch.cpp b/src/cpu/operators/internal/CpuGemmAssemblyDispatch.cpp index 9c85631406..3069d6b541 100644 --- a/src/cpu/operators/internal/CpuGemmAssemblyDispatch.cpp +++ b/src/cpu/operators/internal/CpuGemmAssemblyDispatch.cpp @@ -794,7 +794,7 @@ Status CpuGemmAssemblyDispatch::validate(const ITensorInfo *a, const ITensorInfo ARM_COMPUTE_RETURN_ERROR_ON_MSG(a->data_type() == DataType::S8 && d->data_type() != DataType::S32, "Only S32 output supported for S8 input"); ARM_COMPUTE_RETURN_ERROR_ON_MSG(a->data_type() == DataType::QASYMM8 && (d->data_type() != DataType::QASYMM8 && d->data_type() != DataType::S32), "Only QASYMM8/S32 output supported for QASYMM8 input"); - arm_compute::WeightFormat expected_weight_format; + arm_compute::WeightFormat expected_weight_format = arm_compute::WeightFormat::UNSPECIFIED; const Status ret = CpuGemmAssemblyDispatch::has_opt_impl(expected_weight_format, a, b, c, d, info); if((bool)ret && expected_weight_format != arm_compute::WeightFormat::ANY) { -- cgit v1.2.1