diff options
author | Anthony Barbier <anthony.barbier@arm.com> | 2018-07-13 11:35:30 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:54:54 +0000 |
commit | 92d20811b7c7da90f6dc0ea7279ea52283780148 (patch) | |
tree | 23f739ff3a584cf28b480ea4786178edb30f78ab /src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp | |
parent | 8ddab14db8ee442edd3b98756c19175ddac232b9 (diff) | |
download | ComputeLibrary-92d20811b7c7da90f6dc0ea7279ea52283780148.tar.gz |
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 <georgios.pinitas@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp')
-rw-r--r-- | src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp b/src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp index 6e47adbaa4..e840e90eec 100644 --- a/src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp +++ b/src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp @@ -104,15 +104,23 @@ public: GemmImpl_sgemm_gemm_interleaved() : GemmImplementation<float, float>(GemmMethod::GEMM_INTERLEAVED) { } }; +static GemmImpl_gemv_batched<float, float> gemv_batched_impl{}; +#ifdef __aarch64__ +static GemmImpl_sgemm_gemv_pretransposed sgemm_gemv_pretransposed_impl{}; +static GemmImpl_sgemm_gemv_native_transposed sgemm_gemv_native_transposed_impl{}; +static GemmImpl_sgemm_gemm_native sgemm_gemm_native_impl{}; +#endif +static GemmImpl_sgemm_gemm_interleaved sgemm_gemm_interleaved_impl{}; + /* List of implementations (order matters) */ static std::vector<GemmImplementation<float, float> *> SGemmMethods = { - new GemmImpl_gemv_batched<float, float>(), + &gemv_batched_impl, #ifdef __aarch64__ - new GemmImpl_sgemm_gemv_pretransposed(), - new GemmImpl_sgemm_gemv_native_transposed(), - new GemmImpl_sgemm_gemm_native(), + &sgemm_gemv_pretransposed_impl, + &sgemm_gemv_native_transposed_impl, + &sgemm_gemm_native_impl, #endif - new GemmImpl_sgemm_gemm_interleaved() + &sgemm_gemm_interleaved_impl }; /* Templated function to return this list. */ |