xref: /aosp_15_r20/external/armnn/src/backends/cl/ClRegistryInitializer.cpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #include "ClBackend.hpp"
7 
8 #include <armnn/BackendRegistry.hpp>
9 
10 namespace
11 {
12 
13 using namespace armnn;
14 
15 static BackendRegistry::StaticRegistryInitializer g_RegisterHelper
16 {
17     BackendRegistryInstance(),
18     ClBackend::GetIdStatic(),
19     []()
__anonb877c52e0202() 20     {
21         // Check if we have a CustomMemoryAllocator associated with the backend
22         // and if so register it with the backend.
23         auto customAllocators = BackendRegistryInstance().GetAllocators();
24         auto allocatorIterator = customAllocators.find(ClBackend::GetIdStatic());
25         if (allocatorIterator != customAllocators.end())
26         {
27             return IBackendInternalUniquePtr(new ClBackend(allocatorIterator->second));
28         }
29         return IBackendInternalUniquePtr(new ClBackend);
30     }
31 };
32 
33 } // Anonymous namespace
34