COMPMID-2177 Fix clang warnings

Change-Id: I4beacfd714ee3ed771fd174cce5d8009a2961380
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1065
Reviewed-by: Giuseppe Rossini <giuseppe.rossini@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/graph/Graph.cpp b/src/graph/Graph.cpp
index 88e2682..9d437b1 100644
--- a/src/graph/Graph.cpp
+++ b/src/graph/Graph.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -152,7 +152,7 @@
     return true;
 }
 
-TensorID Graph::create_tensor(TensorDescriptor desc)
+TensorID Graph::create_tensor(const TensorDescriptor &desc)
 {
     TensorID tid    = _tensors.size();
     auto     tensor = support::cpp14::make_unique<Tensor>(tid, desc);
diff --git a/src/graph/GraphBuilder.cpp b/src/graph/GraphBuilder.cpp
index 9f8dd69..5db9540 100644
--- a/src/graph/GraphBuilder.cpp
+++ b/src/graph/GraphBuilder.cpp
@@ -30,15 +30,19 @@
 
 #include "support/ToolchainSupport.h"
 
-#define CHECK_NODEIDX_PAIR(pair, g) \
-    ARM_COMPUTE_ERROR_ON(((pair).node_id >= (g).nodes().size()) || ((g).node((pair).node_id) == nullptr) || ((pair).index >= (g).node((pair).node_id)->num_outputs()));
-
 namespace arm_compute
 {
 namespace graph
 {
 namespace
 {
+inline void check_nodeidx_pair(const NodeIdxPair &pair, const Graph &g)
+{
+    ARM_COMPUTE_UNUSED(pair);
+    ARM_COMPUTE_UNUSED(g);
+    ARM_COMPUTE_ERROR_ON((pair.node_id >= g.nodes().size()) || (g.node((pair).node_id) == nullptr) || (pair.index >= g.node(pair.node_id)->num_outputs()));
+}
+
 Status set_node_params(Graph &g, NodeID nid, NodeParams &params)
 {
     INode *node = g.node(nid);
@@ -62,10 +66,10 @@
     return Status{};
 }
 
-NodeID add_const_node_with_name(Graph &g, NodeParams params, const std::string &name, TensorDescriptor desc, ITensorAccessorUPtr accessor)
+NodeID add_const_node_with_name(Graph &g, NodeParams params, const std::string &name, const TensorDescriptor &desc, ITensorAccessorUPtr accessor)
 {
     params.name = params.name.empty() ? "" : params.name + name;
-    auto nid    = GraphBuilder::add_const_node(g, params, std::move(desc), std::move(accessor));
+    auto nid    = GraphBuilder::add_const_node(g, params, desc, std::move(accessor));
     set_node_params(g, nid, params);
     return nid;
 }
@@ -73,7 +77,7 @@
 template <typename NT, typename... Args>
 NodeID create_simple_single_input_output_node(Graph &g, NodeParams &params, NodeIdxPair input, Args &&... args)
 {
-    CHECK_NODEIDX_PAIR(input, g);
+    check_nodeidx_pair(input, g);
 
     NodeID nid = g.add_node<NT>(std::forward<Args>(args)...);
     g.add_connection(input.node_id, input.index, nid, 0);
@@ -83,7 +87,7 @@
 }
 
 template <typename NT, typename... Args>
-NodeID create_simple_multiple_input_single_output_node(Graph &g, NodeParams &params, std::vector<NodeIdxPair> inputs, Args &&... args)
+NodeID create_simple_multiple_input_single_output_node(Graph &g, NodeParams &params, const std::vector<NodeIdxPair> &inputs, Args &&... args)
 {
     ARM_COMPUTE_ERROR_ON(inputs.size() == 0);
 
@@ -92,7 +96,7 @@
     unsigned int i = 0;
     for(const auto &input : inputs)
     {
-        CHECK_NODEIDX_PAIR(input, g);
+        check_nodeidx_pair(input, g);
         g.add_connection(input.node_id, input.index, nid, i++);
     }
     set_node_params(g, nid, params);
@@ -101,7 +105,7 @@
 }
 } // namespace
 
-NodeID GraphBuilder::add_const_node(Graph &g, NodeParams params, TensorDescriptor desc, ITensorAccessorUPtr accessor)
+NodeID GraphBuilder::add_const_node(Graph &g, NodeParams params, const TensorDescriptor &desc, ITensorAccessorUPtr accessor)
 {
     auto nid = g.add_node<ConstNode>(desc);
     set_node_params(g, nid, params);
@@ -109,7 +113,7 @@
     return nid;
 }
 
-NodeID GraphBuilder::add_input_node(Graph &g, NodeParams params, TensorDescriptor desc, ITensorAccessorUPtr accessor)
+NodeID GraphBuilder::add_input_node(Graph &g, NodeParams params, const TensorDescriptor &desc, ITensorAccessorUPtr accessor)
 {
     auto nid = g.add_node<InputNode>(desc);
     set_node_params(g, nid, params);
@@ -119,7 +123,7 @@
 
 NodeID GraphBuilder::add_output_node(Graph &g, NodeParams params, NodeIdxPair input, ITensorAccessorUPtr accessor)
 {
-    CHECK_NODEIDX_PAIR(input, g);
+    check_nodeidx_pair(input, g);
 
     NodeID nid = g.add_node<OutputNode>();
     g.add_connection(input.node_id, input.index, nid, 0);
@@ -139,7 +143,7 @@
                                                   ITensorAccessorUPtr mean_accessor, ITensorAccessorUPtr var_accessor,
                                                   ITensorAccessorUPtr beta_accessor, ITensorAccessorUPtr gamma_accessor)
 {
-    CHECK_NODEIDX_PAIR(input, g);
+    check_nodeidx_pair(input, g);
 
     bool has_beta  = (beta_accessor != nullptr);
     bool has_gamma = (gamma_accessor != nullptr);
@@ -189,8 +193,8 @@
 
 NodeID GraphBuilder::add_bounding_box_transform_node(Graph &g, NodeParams params, NodeIdxPair input, NodeIdxPair deltas, BoundingBoxTransformInfo info)
 {
-    CHECK_NODEIDX_PAIR(input, g);
-    CHECK_NODEIDX_PAIR(deltas, g);
+    check_nodeidx_pair(input, g);
+    check_nodeidx_pair(deltas, g);
 
     NodeID nid = g.add_node<BoundingBoxTransformLayerNode>(info);
 
@@ -213,7 +217,7 @@
                                           const QuantizationInfo weights_quant_info,
                                           const QuantizationInfo out_quant_info)
 {
-    CHECK_NODEIDX_PAIR(input, g);
+    check_nodeidx_pair(input, g);
     ARM_COMPUTE_ERROR_ON(depth == 0);
     ARM_COMPUTE_ERROR_ON((kernel_spatial_extend.width == 0) || (kernel_spatial_extend.height == 0));
 
@@ -268,7 +272,7 @@
                                             Size2D inner_border, ITensorAccessorUPtr weights_accessor,
                                             ITensorAccessorUPtr bias_accessor)
 {
-    CHECK_NODEIDX_PAIR(input, g);
+    check_nodeidx_pair(input, g);
     ARM_COMPUTE_ERROR_ON(depth == 0);
     ARM_COMPUTE_ERROR_ON((kernel_spatial_extend.width == 0) || (kernel_spatial_extend.height == 0));
 
@@ -323,7 +327,7 @@
                                                     PadStrideInfo conv_info, int depth_multiplier, DepthwiseConvolutionMethod method,
                                                     ITensorAccessorUPtr weights_accessor, ITensorAccessorUPtr bias_accessor, const QuantizationInfo quant_info, const QuantizationInfo out_quant_info)
 {
-    CHECK_NODEIDX_PAIR(input, g);
+    check_nodeidx_pair(input, g);
     ARM_COMPUTE_ERROR_ON((kernel_spatial_extend.width == 0) || (kernel_spatial_extend.height == 0));
 
     bool has_bias = (bias_accessor != nullptr);
@@ -374,9 +378,9 @@
 }
 NodeID GraphBuilder::add_detection_output_node(Graph &g, NodeParams params, NodeIdxPair input_loc, NodeIdxPair input_conf, NodeIdxPair input_priorbox, const DetectionOutputLayerInfo &detect_info)
 {
-    CHECK_NODEIDX_PAIR(input_loc, g);
-    CHECK_NODEIDX_PAIR(input_conf, g);
-    CHECK_NODEIDX_PAIR(input_priorbox, g);
+    check_nodeidx_pair(input_loc, g);
+    check_nodeidx_pair(input_conf, g);
+    check_nodeidx_pair(input_priorbox, g);
 
     // Create detection_output node and connect
     NodeID detect_nid = g.add_node<DetectionOutputLayerNode>(detect_info);
@@ -396,8 +400,8 @@
 
 NodeID GraphBuilder::add_elementwise_node(Graph &g, NodeParams params, NodeIdxPair input0, NodeIdxPair input1, EltwiseOperation operation)
 {
-    CHECK_NODEIDX_PAIR(input0, g);
-    CHECK_NODEIDX_PAIR(input1, g);
+    check_nodeidx_pair(input0, g);
+    check_nodeidx_pair(input1, g);
 
     NodeID nid = g.add_node<EltwiseLayerNode>(operation);
 
@@ -418,7 +422,7 @@
                                                NodeID weights_nid, NodeID bias_nid,
                                                const FullyConnectedLayerInfo fc_info, const QuantizationInfo out_quant_info)
 {
-    CHECK_NODEIDX_PAIR(input, g);
+    check_nodeidx_pair(input, g);
     ARM_COMPUTE_ERROR_ON(num_outputs == 0);
     ARM_COMPUTE_ERROR_ON(weights_nid == EmptyNodeID);
 
@@ -446,7 +450,7 @@
                                                const FullyConnectedLayerInfo fc_info,
                                                const QuantizationInfo weights_quant_info, const QuantizationInfo out_quant_info)
 {
-    CHECK_NODEIDX_PAIR(input, g);
+    check_nodeidx_pair(input, g);
     ARM_COMPUTE_ERROR_ON(num_outputs == 0);
 
     bool has_bias = (bias_accessor != nullptr);
@@ -487,9 +491,9 @@
 
 NodeID GraphBuilder::add_generate_proposals_node(Graph &g, NodeParams params, NodeIdxPair scores, NodeIdxPair deltas, NodeIdxPair anchors, GenerateProposalsInfo info)
 {
-    CHECK_NODEIDX_PAIR(scores, g);
-    CHECK_NODEIDX_PAIR(deltas, g);
-    CHECK_NODEIDX_PAIR(anchors, g);
+    check_nodeidx_pair(scores, g);
+    check_nodeidx_pair(deltas, g);
+    check_nodeidx_pair(anchors, g);
 
     NodeID nid = g.add_node<GenerateProposalsLayerNode>(info);
 
@@ -509,7 +513,7 @@
 NodeID GraphBuilder::add_normalize_planar_yuv_node(Graph &g, NodeParams params, NodeIdxPair input,
                                                    ITensorAccessorUPtr mean_accessor, ITensorAccessorUPtr std_accessor)
 {
-    CHECK_NODEIDX_PAIR(input, g);
+    check_nodeidx_pair(input, g);
 
     // Get input tensor descriptor
     const TensorDescriptor input_tensor_desc = get_tensor_descriptor(g, g.node(input.node_id)->outputs()[0]);
@@ -549,8 +553,8 @@
 
 NodeID GraphBuilder::add_priorbox_node(Graph &g, NodeParams params, NodeIdxPair input0, NodeIdxPair input1, const PriorBoxLayerInfo &prior_info)
 {
-    CHECK_NODEIDX_PAIR(input0, g);
-    CHECK_NODEIDX_PAIR(input1, g);
+    check_nodeidx_pair(input0, g);
+    check_nodeidx_pair(input1, g);
 
     // Create priorbox node and connect
     NodeID prior_nid = g.add_node<PriorBoxLayerNode>(prior_info);
@@ -580,8 +584,8 @@
 
 NodeID GraphBuilder::add_roi_align_node(Graph &g, NodeParams params, NodeIdxPair input, NodeIdxPair rois, ROIPoolingLayerInfo pool_info)
 {
-    CHECK_NODEIDX_PAIR(input, g);
-    CHECK_NODEIDX_PAIR(rois, g);
+    check_nodeidx_pair(input, g);
+    check_nodeidx_pair(rois, g);
 
     NodeID nid = g.add_node<ROIAlignLayerNode>(pool_info);
 
@@ -594,7 +598,7 @@
 
 NodeID GraphBuilder::add_scale_layer(Graph &g, const NodeParams &params, NodeIdxPair input, ITensorAccessorUPtr mul_accessor, ITensorAccessorUPtr add_accessor)
 {
-    CHECK_NODEIDX_PAIR(input, g);
+    check_nodeidx_pair(input, g);
 
     // Get input tensor descriptor
     const TensorDescriptor input_tensor_desc = get_tensor_descriptor(g, g.node(input.node_id)->outputs()[0]);
diff --git a/src/graph/Tensor.cpp b/src/graph/Tensor.cpp
index 9850128..205ef11 100644
--- a/src/graph/Tensor.cpp
+++ b/src/graph/Tensor.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -108,7 +108,7 @@
     _bound_edges.erase(eid);
 }
 
-const std::set<EdgeID> Tensor::bound_edges() const
+std::set<EdgeID> Tensor::bound_edges() const
 {
     return _bound_edges;
 }
diff --git a/src/graph/detail/CrossLayerMemoryManagerHelpers.cpp b/src/graph/detail/CrossLayerMemoryManagerHelpers.cpp
index 7fc5ca0..5e31309 100644
--- a/src/graph/detail/CrossLayerMemoryManagerHelpers.cpp
+++ b/src/graph/detail/CrossLayerMemoryManagerHelpers.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -136,7 +136,7 @@
             // Then add it to the list of transition buffers
             ITensorHandle *tensor_handle = input_edge->tensor()->handle()->parent_handle();
             IMemoryGroup *mm_group      = get_memory_group_from_handle(ctx, tensor_handle);
-            transition_handles.input_handles.push_back(std::make_pair(tensor_handle, mm_group));
+            transition_handles.input_handles.emplace_back(std::make_pair(tensor_handle, mm_group));
         }
     }
 
@@ -149,7 +149,7 @@
         {
             ITensorHandle *tensor_handle = output_tensor->handle()->parent_handle();
             IMemoryGroup *mm_group      = get_memory_group_from_handle(ctx, tensor_handle);
-            transition_handles.output_handles.push_back(std::make_pair(tensor_handle, mm_group));
+            transition_handles.output_handles.emplace_back(std::make_pair(tensor_handle, mm_group));
         }
     }
 
diff --git a/src/graph/mutators/NodeFusionMutator.cpp b/src/graph/mutators/NodeFusionMutator.cpp
index b28f2db..427d7b5 100644
--- a/src/graph/mutators/NodeFusionMutator.cpp
+++ b/src/graph/mutators/NodeFusionMutator.cpp
@@ -207,7 +207,7 @@
     const std::set<Activation> supported_fused_activations = { Activation::RELU, Activation::BOUNDED_RELU, Activation::LU_BOUNDED_RELU };
 
     // Preconditions
-    auto empty_prec = [](INode & n)
+    auto empty_prec = [](INode &)
     {
         return true;
     };
diff --git a/src/graph/nodes/ConcatenateLayerNode.cpp b/src/graph/nodes/ConcatenateLayerNode.cpp
index ff515c4..5f13b90 100644
--- a/src/graph/nodes/ConcatenateLayerNode.cpp
+++ b/src/graph/nodes/ConcatenateLayerNode.cpp
@@ -72,6 +72,7 @@
 
     // Extract shapes
     std::vector<const TensorShape *> shapes;
+    shapes.reserve(input_descriptors.size());
     for(auto &input_descriptor : input_descriptors)
     {
         shapes.emplace_back(&input_descriptor.shape);