aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTracy Narine <tracy.narine@arm.com>2023-09-20 14:19:07 +0100
committerTracy Narine <tracy.narine@arm.com>2023-09-28 14:25:16 +0100
commit6440ce89abb06e090d2b3cf91bafc14277072475 (patch)
treec55682891a0f01f3edbf5dad58720ded7af3fc64 /include
parent9a418d850333119e219fb05addc57b56cdc60a7e (diff)
downloadarmnn-6440ce89abb06e090d2b3cf91bafc14277072475.tar.gz
IVGCVSW-7504 Create a backend specific optimization to fuse ADD+MUL+Add+(Activation) in CpuAcc
* Adding CpuAcc backend optimization to fuse add+mul+add into one layer * Tests added/enhanced * Also added optional extended parameter to Graph::Print() and throw macros that could be used in place of assert Signed-off-by: Tracy Narine <tracy.narine@arm.com> Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I5f8d094b969a130d8c2c7b4da07426313a9fea76
Diffstat (limited to 'include')
-rw-r--r--include/armnn/Exceptions.hpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/include/armnn/Exceptions.hpp b/include/armnn/Exceptions.hpp
index 19b7f87e5a..1fa7083d5a 100644
--- a/include/armnn/Exceptions.hpp
+++ b/include/armnn/Exceptions.hpp
@@ -1,5 +1,5 @@
//
-// Copyright © 2017 Arm Ltd. All rights reserved.
+// Copyright © 2017-2023 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once
@@ -201,3 +201,13 @@ void ConditionalThrowIfNotEqual(const std::string& message,
} // namespace armnn
#define CHECK_LOCATION() armnn::CheckLocation(__func__, __FILE__, __LINE__)
+
+// Use to throw rather than assert
+#define ARMNN_THROW_MSG_IF_FALSE(_cond, _except, _str) \
+ do { if (!(static_cast<bool>(_cond))) {throw _except(_str);} } while(0)
+#define ARMNN_THROW_IF_FALSE(_cond, _except) \
+ ARMNN_THROW_MSG_IF_FALSE(_cond, _except, #_cond)
+#define ARMNN_THROW_INVALIDARG_MSG_IF_FALSE(_cond, _str) \
+ ARMNN_THROW_MSG_IF_FALSE(_cond, armnn::InvalidArgumentException, _str)
+#define ARMNN_THROW_INVALIDARG_IF_FALSE(_cond) \
+ ARMNN_THROW_MSG_IF_FALSE(_cond, armnn::InvalidArgumentException, #_cond)