From 6440ce89abb06e090d2b3cf91bafc14277072475 Mon Sep 17 00:00:00 2001 From: Tracy Narine Date: Wed, 20 Sep 2023 14:19:07 +0100 Subject: 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 Signed-off-by: Teresa Charlin Change-Id: I5f8d094b969a130d8c2c7b4da07426313a9fea76 --- include/armnn/Exceptions.hpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'include/armnn/Exceptions.hpp') 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(_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) -- cgit v1.2.1