aboutsummaryrefslogtreecommitdiff
path: root/src/backends/aclCommon
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/aclCommon')
-rw-r--r--src/backends/aclCommon/ArmComputeSubgraphUtils.hpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp b/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp
index c9d6c71f18..599d3538eb 100644
--- a/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp
+++ b/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp
@@ -1,5 +1,5 @@
//
-// Copyright © 2020,2022 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2020-2023 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
@@ -147,6 +147,27 @@ LayerType* FuseMultiplicationLayer(OptimizationViews& optimizationViews,
}
template<typename LayerType>
+LayerType* FuseElementwiseBinaryLayer(OptimizationViews& optimizationViews,
+ LayerType* baseLayer,
+ ActivationLayer* activationLayer,
+ ActivationDescriptor& activationDesc,
+ BinaryOperation operation,
+ std::string name)
+{
+ IConnectableLayer* replacement = optimizationViews.GetINetwork()->AddElementwiseBinaryLayer(operation,
+ name.c_str());
+ LayerType* replacementLayer = PolymorphicDowncast<LayerType*>(replacement);
+
+ FuseLayer(optimizationViews,
+ baseLayer,
+ replacementLayer,
+ activationLayer,
+ activationDesc);
+
+ return replacementLayer;
+}
+
+template<typename LayerType>
LayerType* FuseBatchNormalizationLayer(OptimizationViews& optimizationViews,
LayerType* baseLayer,
ActivationLayer* activationLayer,