IVGCVSW-2454 Refactor ArmNN to support pluggable backends from a separate
code base

 * Made the virtual functions in ILayerSupport.hpp pure
 * Created a LayerSupportBase class with the default implementation of
   the interface
 * Made the backend layer support classes inherit from the base
   class, instead of directly from the interface
 * Refactored the profiler and the profiling event classes to use
   the BackendId instead of the Compute
 * Implemented a proper MemCopy support method
 * Changed Compute to BackendId in the profiling API and objects
 * Removed static references to pluggable backends

!android-nn-driver:492

Change-Id: Id6332b5f48c980819e0a09adc818d1effd057296
diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp
index c4d45fe..c1139e2 100644
--- a/src/backends/cl/ClLayerSupport.cpp
+++ b/src/backends/cl/ClLayerSupport.cpp
@@ -385,6 +385,15 @@
                                    descriptor);
 }
 
+bool ClLayerSupport::IsMemCopySupported(const TensorInfo &input,
+                                        const TensorInfo &output,
+                                        Optional<std::string &> reasonIfUnsupported) const
+{
+    ignore_unused(input);
+    ignore_unused(output);
+    return true;
+}
+
 bool ClLayerSupport::IsMergerSupported(const std::vector<const TensorInfo*> inputs,
                                        const TensorInfo& output,
                                        const OriginsDescriptor& descriptor,
@@ -479,9 +488,11 @@
 }
 
 bool ClLayerSupport::IsReshapeSupported(const TensorInfo& input,
+                                        const ReshapeDescriptor& descriptor,
                                         Optional<std::string&> reasonIfUnsupported) const
 {
     ignore_unused(input);
+    ignore_unused(descriptor);
     ignore_unused(reasonIfUnsupported);
     return true;
 }