diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2020-10-21 18:33:36 +0100 |
---|---|---|
committer | Georgios Pinitas <georgios.pinitas@arm.com> | 2020-12-15 18:07:31 +0000 |
commit | 4d9687e70e2d71097cd43929d5f63377c3c44523 (patch) | |
tree | 09b5b89fd51d7b44613f21b889669939bc2c6bb3 /src/graph/backends/CL | |
parent | aa51a5ba9a3f05be08b94859b53c398edee5d2e3 (diff) | |
download | ComputeLibrary-4d9687e70e2d71097cd43929d5f63377c3c44523.tar.gz |
Address RVO issue on some compilers
Suppresses pessimizing-move during clang compilation as for some gcc
toolchains RVO is not ensured until C++17 thus an explicit call to
std::move might be required to avoid compilation error for non-copyable
ojects (e.g. std::unique_ptr)
Resolves: COMPMID-3599
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: Ie3fa44fb0cf631655aecbeb6c82021a68f500a33
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4230
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/graph/backends/CL')
-rw-r--r-- | src/graph/backends/CL/CLFunctionsFactory.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/graph/backends/CL/CLFunctionsFactory.cpp b/src/graph/backends/CL/CLFunctionsFactory.cpp index 619641804b..5c98ce3b85 100644 --- a/src/graph/backends/CL/CLFunctionsFactory.cpp +++ b/src/graph/backends/CL/CLFunctionsFactory.cpp @@ -167,7 +167,7 @@ std::unique_ptr<IFunction> create_detection_output_layer<CPPDetectionOutputLayer wrap_function->register_tensor(input2); wrap_function->register_tensor(output); - return RETURN_UNIQUE_PTR(wrap_function); + return std::move(wrap_function); } template <> std::unique_ptr<IFunction> create_detection_post_process_layer<CPPDetectionPostProcessLayer, CLTargetInfo>(DetectionPostProcessLayerNode &node) @@ -223,7 +223,7 @@ std::unique_ptr<IFunction> create_detection_post_process_layer<CPPDetectionPostP wrap_function->register_tensor(output2); wrap_function->register_tensor(output3); - return RETURN_UNIQUE_PTR(wrap_function); + return std::move(wrap_function); } } // namespace detail |