From 92d20811b7c7da90f6dc0ea7279ea52283780148 Mon Sep 17 00:00:00 2001 From: Anthony Barbier Date: Fri, 13 Jul 2018 11:35:30 +0100 Subject: COMPMID-1271 Avoid memory leak in list of gemm methods Change-Id: I80764d09bf5fb87b3a98bc0e1803d25c6c682c1f Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/139859 Reviewed-by: Georgios Pinitas Tested-by: Jenkins --- src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp') diff --git a/src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp b/src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp index 829ae325a9..4579ebd307 100644 --- a/src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp +++ b/src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp @@ -73,11 +73,16 @@ public: GemmImpl_gemm_fp16_interleaved() : GemmImplementation<__fp16, __fp16>(GemmMethod::GEMM_INTERLEAVED) { } }; +#if defined(__aarch64__) && (defined(__ARM_FEATURE_VECTOR_ARITHMETIC) || defined(FP16_KERNELS)) +static GemmImpl_gemm_fp16_interleaved_fp16 gemm_fp16_interleaved_fp16_impl{}; +#endif +static GemmImpl_gemm_fp16_interleaved gemm_fp16_interleaved_impl{}; + static std::vector *> gemm_fp16_methods = { #if defined(__aarch64__) && (defined(__ARM_FEATURE_VECTOR_ARITHMETIC) || defined(FP16_KERNELS)) - new GemmImpl_gemm_fp16_interleaved_fp16(), + &gemm_fp16_interleaved_fp16_impl, #endif - new GemmImpl_gemm_fp16_interleaved() + &gemm_fp16_interleaved_impl }; template<> -- cgit v1.2.1