Add QASYMM8_SIGNED support to graph examples via graph mutator

Related to COMPMID-4279

Signed-off-by: SiCongLi <sicong.li@arm.com>
Change-Id: I6c737536b4e614cc9975003acca766803f55bf0b
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5206
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/arm_compute/graph/Types.h b/arm_compute/graph/Types.h
index 77e91b2..c4afba2 100644
--- a/arm_compute/graph/Types.h
+++ b/arm_compute/graph/Types.h
@@ -76,6 +76,7 @@
 
 // Forward declarations
 struct TensorDescriptor;
+
 /** Graph configuration structure */
 struct GraphConfig
 {
@@ -83,7 +84,8 @@
     bool        use_function_weights_manager{ true };  /**< Use a weights manager to manage transformed weights */
     bool        use_transition_memory_manager{ true }; /**< Use a memory manager to manager transition buffer memory */
     bool        use_tuner{ false };                    /**< Use a tuner in tunable backends */
-    bool        convert_to_uint8{ false };             /**< Convert graph to a synthetic uint8 graph */
+    bool        use_synthetic_type{ false };           /**< Convert graph to a synthetic graph for a data type */
+    DataType    synthetic_type{ DataType::QASYMM8 };   /**< The data type of the synthetic graph  */
     CLTunerMode tuner_mode{ CLTunerMode::EXHAUSTIVE }; /**< Tuner mode to be used by the CL tuner */
     int         num_threads{ -1 };                     /**< Number of threads to use (thread capable backends), if 0 the backend will auto-initialize, if -1 the backend will stay as it is. */
     std::string tuner_file{ "acl_tuner.csv" };         /**< File to load/store tuning values from */
diff --git a/arm_compute/graph/mutators/SyntheticDataTypeMutator.h b/arm_compute/graph/mutators/SyntheticDataTypeMutator.h
index ed270f8..2292e52 100644
--- a/arm_compute/graph/mutators/SyntheticDataTypeMutator.h
+++ b/arm_compute/graph/mutators/SyntheticDataTypeMutator.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Arm Limited.
+ * Copyright (c) 2019-2021 Arm Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -35,10 +35,15 @@
 class SyntheticDataTypeMutator final : public IGraphMutator
 {
 public:
+    // Constructor
+    SyntheticDataTypeMutator(DataType mutate_type = DataType::QASYMM8);
     // Inherited methods overridden
     virtual void mutate(Graph &g) override;
     MutationType type() const override;
     const char *name() override;
+
+private:
+    DataType _mutate_type;
 };
 } // namespace graph
 } // namespace arm_compute