From acb550f4410ae861e53cae27a9feb4b11d45769f Mon Sep 17 00:00:00 2001 From: Kevin Cheng Date: Tue, 29 Jun 2021 15:32:19 -0700 Subject: Replace node level check ASSERT_MSG_NODE()/FATAL_ERROR_NODE() with REQUIRE() or ERROR_IF() - Adding return code enum class: {VALID, UNPREDICTABLE, ERROR} - Runtime errors (e.g. memory allocation failure) will abort immediately, or will return one of the three return codes Part of the codes are re-written to pass REQUIRE() to the top-level (e.g. apply_scale_32/16()) - Update setExpectedFailure() to setExpectedReturnCode() on test generation script - Update test regression script to interface with reference model change Signed-off-by: Kevin Cheng Change-Id: Ia063c936bcb2a54d6e379a5bb6801aa72d1186f1 --- reference_model/src/graph_node.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'reference_model/src/graph_node.h') diff --git a/reference_model/src/graph_node.h b/reference_model/src/graph_node.h index bf80859..14a8acc 100644 --- a/reference_model/src/graph_node.h +++ b/reference_model/src/graph_node.h @@ -18,6 +18,7 @@ #include "attribute.h" #include "quant_info.h" +#include "subgraph_traverser.h" #include "tensor.h" #include "tosa_generated.h" #include @@ -139,12 +140,14 @@ namespace TosaReference { +class SubgraphTraverser; + // Nodes in the graph (e.g., tosa operators) are defined with this base // class. class GraphNode { public: - GraphNode(const tosa::Op& nodeType, const uint64_t id_); + GraphNode(SubgraphTraverser* parent_sgt_, const tosa::Op& nodeType_, const uint64_t id_); virtual ~GraphNode(); int addInputName(std::string& name); @@ -274,6 +277,9 @@ protected: int validateRequiredOperands(); int validateRequiredRank(const Tensor* t); + // Parent SubgraphTraverser + SubgraphTraverser* parent_sgt; + // Description of the node type (e.g., CONST, CONV2D, etc...) tosa::Op nodeType; -- cgit v1.2.1