COMPMID-1603: Add PadLayer to graph API

Change-Id: Ic985ac8b0b09c3a6b3f2d43274af8ce89f8c90dd
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/150313
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: bsgcomp <bsgcomp@arm.com>
diff --git a/arm_compute/graph/backends/ValidateHelpers.h b/arm_compute/graph/backends/ValidateHelpers.h
index ff644c4..b0395da 100644
--- a/arm_compute/graph/backends/ValidateHelpers.h
+++ b/arm_compute/graph/backends/ValidateHelpers.h
@@ -203,6 +203,30 @@
     // Validate function
     return NormalizePlanarYUVLayer::validate(input, output, mean, std);
 }
+
+/** Validates a pad layer node
+ *
+ * @tparam PadLayer Pad layer type
+ *
+ * @param[in] node Node to validate
+ *
+ * @return Status
+ */
+template <typename PadLayer>
+Status validate_pad_layer(PadLayerNode &node)
+{
+    ARM_COMPUTE_LOG_GRAPH_VERBOSE("Validating PadLayer node with ID : " << node.id() << " and Name: " << node.name() << std::endl);
+    ARM_COMPUTE_RETURN_ERROR_ON(node.num_inputs() != 1);
+    ARM_COMPUTE_RETURN_ERROR_ON(node.num_outputs() != 1);
+
+    // Extract IO and info
+    arm_compute::ITensorInfo *input   = get_backing_tensor_info(node.input(0));
+    arm_compute::ITensorInfo *output  = get_backing_tensor_info(node.output(0));
+    const PaddingList        &padding = node.padding();
+
+    return PadLayer::validate(input, output, padding);
+}
+
 /** Validates a permute layer node
  *
  * @tparam PermuteLayer Permute layer type