diff options
author | Kevin Cheng <kevin.cheng@arm.com> | 2021-06-29 15:32:19 -0700 |
---|---|---|
committer | Kevin Cheng <kevin.cheng@arm.com> | 2021-08-20 18:07:06 +0100 |
commit | acb550f4410ae861e53cae27a9feb4b11d45769f (patch) | |
tree | ae2f4ec558c2cdf1afa020b80a09d7ab4be5ef6d /reference_model/src/subgraph_traverser.h | |
parent | 68e7aee65bda5ac03fa7def753b7dc7462554793 (diff) | |
download | reference_model-acb550f4410ae861e53cae27a9feb4b11d45769f.tar.gz |
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 <kevin.cheng@arm.com>
Change-Id: Ia063c936bcb2a54d6e379a5bb6801aa72d1186f1
Diffstat (limited to 'reference_model/src/subgraph_traverser.h')
-rw-r--r-- | reference_model/src/subgraph_traverser.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/reference_model/src/subgraph_traverser.h b/reference_model/src/subgraph_traverser.h index 3f4eecf..4be6c1f 100644 --- a/reference_model/src/subgraph_traverser.h +++ b/reference_model/src/subgraph_traverser.h @@ -16,15 +16,22 @@ #ifndef SUBGRAPH_TRAVERSER_H #define SUBGRAPH_TRAVERSER_H -#include "model_common.h" - #include "graph_node.h" +#include "model_common.h" #include "ops/op_factory.h" +#include "tensor.h" #include "tosa_serialization_handler.h" namespace TosaReference { +enum class GraphStatus : int +{ + TOSA_VALID = 0, + TOSA_UNPREDICTABLE = 1, + TOSA_ERROR = 2, +}; + class SubgraphTraverser { public: @@ -36,6 +43,15 @@ public: int evaluateNextNode(); int evaluateAll(); + GraphStatus getGraphStatus() const + { + return graph_status; + } + void setGraphStatus(GraphStatus status) + { + graph_status = status; + } + int linkTensorsAndNodes(); int validateGraph(); @@ -59,6 +75,8 @@ private: GraphNode* getNextNode(); + GraphStatus graph_status; + // pointer to serialization library and corresponding basic block TosaSerializationBasicBlock* block; TosaSerializationHandler* tsh; |