From 3570a3896d629a41c4e032880fca193c333dd3cf Mon Sep 17 00:00:00 2001 From: Francis Murtagh Date: Wed, 18 May 2022 11:46:10 +0100 Subject: BugFix: Overload Deprecated IsUnidirectionalSequenceLstmSupported * Signature change is ABI/API break, overloaded and forwarded to new function. Signed-off-by: Francis Murtagh Change-Id: I8590a6fd65986b5aeff905c1e761cb5c51042e99 --- include/armnn/BackendHelper.hpp | 13 +++++++++++++ src/armnn/BackendHelper.cpp | 26 ++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/include/armnn/BackendHelper.hpp b/include/armnn/BackendHelper.hpp index 8bcdbc4d3c..87b99f03f0 100644 --- a/include/armnn/BackendHelper.hpp +++ b/include/armnn/BackendHelper.hpp @@ -411,6 +411,19 @@ public: const TransposeDescriptor& descriptor, Optional reasonIfUnsupported = EmptyOptional()); + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use function without " + "Optional TensorInfos", "23.02") + bool IsUnidirectionalSequenceLstmSupported( + const TensorInfo& input, + const TensorInfo& outputStateIn, + const TensorInfo& cellStateIn, + const TensorInfo& output, + const Optional& hiddenStateOutput, + const Optional& cellStateOutput, + const LstmDescriptor& descriptor, + const LstmInputParamsInfo& paramsInfo, + Optional reasonIfUnsupported = EmptyOptional()); + bool IsUnidirectionalSequenceLstmSupported( const TensorInfo& input, const TensorInfo& outputStateIn, diff --git a/src/armnn/BackendHelper.cpp b/src/armnn/BackendHelper.cpp index 03f32ac191..fde979ba41 100644 --- a/src/armnn/BackendHelper.cpp +++ b/src/armnn/BackendHelper.cpp @@ -1381,6 +1381,32 @@ bool LayerSupportHandle::IsTransposeSupported(const TensorInfo& input, reasonIfUnsupported); } +// Forwarding function to maintain ABI stability +bool LayerSupportHandle::IsUnidirectionalSequenceLstmSupported(const TensorInfo& input, + const TensorInfo& outputStateIn, + const TensorInfo& cellStateIn, + const TensorInfo& output, + const Optional& hiddenStateOutput, + const Optional& cellStateOutput, + const LstmDescriptor& descriptor, + const LstmInputParamsInfo& paramsInfo, + Optional reasonIfUnsupported) +{ + TensorInfo hiddenStateOutputVal = hiddenStateOutput.has_value() ? hiddenStateOutput.value() : TensorInfo(); + TensorInfo cellStateOutputVal = cellStateOutput.has_value() ? cellStateOutput.value() : TensorInfo(); + TensorInfos infos{input, outputStateIn, cellStateIn, hiddenStateOutputVal, cellStateOutputVal, output}; + + return IsUnidirectionalSequenceLstmSupported(input, + outputStateIn, + cellStateIn, + hiddenStateOutputVal, + cellStateOutputVal, + output, + descriptor, + paramsInfo, + reasonIfUnsupported); +} + bool LayerSupportHandle::IsUnidirectionalSequenceLstmSupported(const TensorInfo& input, const TensorInfo& outputStateIn, const TensorInfo& cellStateIn, -- cgit v1.2.1