IVGCVSW-5317 'Add enable_fast_math Option to ExecuteNetwork'

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I4eb3e27837aea926593d49f9ccea07bab8388d5b
diff --git a/src/backends/backendsCommon/IBackendInternal.cpp b/src/backends/backendsCommon/IBackendInternal.cpp
index 0806033..81fc515 100644
--- a/src/backends/backendsCommon/IBackendInternal.cpp
+++ b/src/backends/backendsCommon/IBackendInternal.cpp
@@ -43,22 +43,36 @@
     const IMemoryManagerSharedPtr& memoryManager,
     const ModelOptions& modelOptions) const
 {
-    if(modelOptions.empty())
+    if (!modelOptions.empty())
     {
-        return CreateWorkloadFactory(memoryManager);
+        for (auto optionsGroup : modelOptions)
+        {
+            if (optionsGroup.GetBackendId() == GetId())
+            {
+                return IWorkloadFactoryPtr{};
+            }
+        }
     }
-    return IWorkloadFactoryPtr{};
+
+    return CreateWorkloadFactory(memoryManager);
 }
 
 IBackendInternal::IWorkloadFactoryPtr IBackendInternal::CreateWorkloadFactory(
     class TensorHandleFactoryRegistry& tensorHandleFactoryRegistry,
     const ModelOptions& modelOptions) const
 {
-    if(modelOptions.empty())
+    if (!modelOptions.empty())
     {
-        return CreateWorkloadFactory(tensorHandleFactoryRegistry);
+        for (auto optionsGroup : modelOptions)
+        {
+            if (optionsGroup.GetBackendId() == GetId())
+            {
+                return IWorkloadFactoryPtr{};
+            }
+        }
     }
-    return IWorkloadFactoryPtr{};
+
+    return CreateWorkloadFactory(tensorHandleFactoryRegistry);
 }
 
 IBackendInternal::IBackendContextPtr IBackendInternal::CreateBackendContext(const IRuntime::CreationOptions&) const
@@ -78,6 +92,22 @@
     return IBackendProfilingContextPtr{};
 }
 
+IBackendInternal::ILayerSupportSharedPtr IBackendInternal::GetLayerSupport(const ModelOptions& modelOptions) const
+{
+    if (!modelOptions.empty())
+    {
+        for (auto optionsGroup : modelOptions)
+        {
+            if (optionsGroup.GetBackendId() == GetId())
+            {
+                return ILayerSupportSharedPtr{};
+            }
+        }
+    }
+
+    return GetLayerSupport();
+}
+
 // Default implementation of OptimizeSubgraphView for backward compatibility with the old API.
 // Override this method with a custom optimization implementation.
 OptimizationViews IBackendInternal::OptimizeSubgraphView(const SubgraphView& subgraph) const