1*89c4ff92SAndroid Build Coastguard Worker // 2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2022 Arm Ltd and Contributors. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker // 5*89c4ff92SAndroid Build Coastguard Worker 6*89c4ff92SAndroid Build Coastguard Worker #pragma once 7*89c4ff92SAndroid Build Coastguard Worker 8*89c4ff92SAndroid Build Coastguard Worker #include <Layer.hpp> 9*89c4ff92SAndroid Build Coastguard Worker 10*89c4ff92SAndroid Build Coastguard Worker #include <tosa_serialization_handler.h> 11*89c4ff92SAndroid Build Coastguard Worker #include "operatorMappings/TosaCommonOperators.hpp" 12*89c4ff92SAndroid Build Coastguard Worker 13*89c4ff92SAndroid Build Coastguard Worker using namespace armnn; 14*89c4ff92SAndroid Build Coastguard Worker using namespace tosa; 15*89c4ff92SAndroid Build Coastguard Worker 16*89c4ff92SAndroid Build Coastguard Worker // Populates a tosa::TosaSerializationBasicBlock from constructing 17*89c4ff92SAndroid Build Coastguard Worker // tosa::TosaSerializationOperator(s) and tosa::TosaSerializationTensor(s) 18*89c4ff92SAndroid Build Coastguard Worker // based on the input armnn::LayerType and associated armnn::TensorInfos and armnn::Descriptor. 19*89c4ff92SAndroid Build Coastguard Worker // 20*89c4ff92SAndroid Build Coastguard Worker // If an armnn::LayerType does not have a TOSA mapping or the mapping is not implemented in ArmNN, 21*89c4ff92SAndroid Build Coastguard Worker // an empty tosa::TosaSerializationBasicBlock() is returned with operator tosa::Op_UNKNOWN. 22*89c4ff92SAndroid Build Coastguard Worker TosaSerializationBasicBlock* GetTosaMapping(const Layer* layer, 23*89c4ff92SAndroid Build Coastguard Worker const LayerType type, 24*89c4ff92SAndroid Build Coastguard Worker const std::vector<const TensorInfo*>& inputs, 25*89c4ff92SAndroid Build Coastguard Worker const std::vector<const TensorInfo*>& outputs, 26*89c4ff92SAndroid Build Coastguard Worker const BaseDescriptor& /*descriptor*/); 27*89c4ff92SAndroid Build Coastguard Worker 28*89c4ff92SAndroid Build Coastguard Worker // Function called in armnn::OptimizeSubgraphView() when access to armnn::Layer is available 29*89c4ff92SAndroid Build Coastguard Worker // and there is an option to set TOSA basic block data from constant layer tensors available from the input layer. 30*89c4ff92SAndroid Build Coastguard Worker TosaSerializationBasicBlock* GetTosaMappingFromLayer(Layer* layer); 31