diff options
-rw-r--r-- | reference_model/src/ops/activation_funcs.cc | 6 | ||||
-rw-r--r-- | reference_model/src/ops/activation_funcs.h | 3 | ||||
-rw-r--r-- | reference_model/src/ops/data_layout.cc | 4 | ||||
-rw-r--r-- | reference_model/src/ops/ewise_binary.cc | 16 | ||||
-rw-r--r-- | reference_model/src/ops/ewise_binary.h | 2 |
5 files changed, 28 insertions, 3 deletions
diff --git a/reference_model/src/ops/activation_funcs.cc b/reference_model/src/ops/activation_funcs.cc index 09ef6f6..dc85088 100644 --- a/reference_model/src/ops/activation_funcs.cc +++ b/reference_model/src/ops/activation_funcs.cc @@ -56,6 +56,12 @@ int OpClamp<Rank, Dtype>::register_fcn() } template <int Rank, DType Dtype> +OpClamp<Rank, Dtype>::~OpClamp() +{ + if (attribute) delete attribute; +} + +template <int Rank, DType Dtype> int OpSigmoid<Rank, Dtype>::register_fcn() { switch (Dtype) diff --git a/reference_model/src/ops/activation_funcs.h b/reference_model/src/ops/activation_funcs.h index 4853971..9a697cd 100644 --- a/reference_model/src/ops/activation_funcs.h +++ b/reference_model/src/ops/activation_funcs.h @@ -1,5 +1,5 @@ -// Copyright (c) 2020, ARM Limited. +// Copyright (c) 2020-2022, ARM Limited. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -34,6 +34,7 @@ public: INIT_ATTRIBUTE(Clamp); register_fcn(); } + virtual ~OpClamp(); static constexpr int32_t QMin = GetQMin<Dtype>::value; static constexpr int32_t QMax = GetQMax<Dtype>::value; using InEigenType = typename GetEigenType<Dtype>::type; diff --git a/reference_model/src/ops/data_layout.cc b/reference_model/src/ops/data_layout.cc index bffd659..b127cba 100644 --- a/reference_model/src/ops/data_layout.cc +++ b/reference_model/src/ops/data_layout.cc @@ -581,7 +581,9 @@ OpTranspose<Rank, Dtype>::OpTranspose(SubgraphTraverser* sgt_, template <int Rank, DType Dtype> OpTranspose<Rank, Dtype>::~OpTranspose() -{} +{ + if (attribute) delete attribute; +} template <int Rank, DType Dtype> int OpTranspose<Rank, Dtype>::checkTensorAttributes() diff --git a/reference_model/src/ops/ewise_binary.cc b/reference_model/src/ops/ewise_binary.cc index e4c0ee0..7d0c434 100644 --- a/reference_model/src/ops/ewise_binary.cc +++ b/reference_model/src/ops/ewise_binary.cc @@ -192,6 +192,12 @@ int OpArithmeticRightShift<Rank, Dtype>::register_fcn() } template <int Rank, DType Dtype> +OpArithmeticRightShift<Rank, Dtype>::~OpArithmeticRightShift() +{ + if (attribute) delete attribute; +} + +template <int Rank, DType Dtype> int OpBitwiseAnd<Rank, Dtype>::register_fcn() { switch (Dtype) @@ -455,6 +461,12 @@ int OpMul<Rank, InDtype, OutDtype>::register_fcn() return 0; } +template <int Rank, DType InDtype, DType OutDtype> +OpMul<Rank, InDtype, OutDtype>::~OpMul() +{ + if (attribute) delete attribute; +} + template <int Rank, DType Dtype> int OpPow<Rank, Dtype>::register_fcn() { @@ -512,7 +524,9 @@ OpTable<Rank, InDtype>::OpTable(SubgraphTraverser* sgt_, template <int Rank, DType InDtype> OpTable<Rank, InDtype>::~OpTable() -{} +{ + if (attribute) delete attribute; +} template <int Rank, DType InDtype> int OpTable<Rank, InDtype>::checkTensorAttributes() diff --git a/reference_model/src/ops/ewise_binary.h b/reference_model/src/ops/ewise_binary.h index 6b0efaf..020ddb5 100644 --- a/reference_model/src/ops/ewise_binary.h +++ b/reference_model/src/ops/ewise_binary.h @@ -148,6 +148,7 @@ public: using InEigenType = typename GetEigenType<Dtype>::type; using OutEigenType = typename GetEigenType<Dtype>::type; virtual int register_fcn(); + virtual ~OpArithmeticRightShift(); protected: TosaArithmeticRightShiftAttribute* attribute; @@ -163,6 +164,7 @@ public: INIT_ATTRIBUTE(Mul); register_fcn(); } + virtual ~OpMul(); static constexpr int64_t QMin = GetQMin<OutDtype>::value; static constexpr int64_t QMax = GetQMax<OutDtype>::value; using InEigenType = typename GetEigenType<InDtype>::type; |