1*523fa7a6SAndroid Build Coastguard Worker# Copyright (c) Qualcomm Innovation Center, Inc. 2*523fa7a6SAndroid Build Coastguard Worker# All rights reserved 3*523fa7a6SAndroid Build Coastguard Worker# 4*523fa7a6SAndroid Build Coastguard Worker# This source code is licensed under the BSD-style license found in the 5*523fa7a6SAndroid Build Coastguard Worker# LICENSE file in the root directory of this source tree. 6*523fa7a6SAndroid Build Coastguard Worker 7*523fa7a6SAndroid Build Coastguard Workerfrom typing import List 8*523fa7a6SAndroid Build Coastguard Worker 9*523fa7a6SAndroid Build Coastguard Workerfrom executorch.backends.qualcomm.utils.constants import QCOM_QNN_COMPILE_SPEC 10*523fa7a6SAndroid Build Coastguard Worker 11*523fa7a6SAndroid Build Coastguard Workerfrom executorch.exir.backend.compile_spec_schema import CompileSpec 12*523fa7a6SAndroid Build Coastguard Worker 13*523fa7a6SAndroid Build Coastguard Worker 14*523fa7a6SAndroid Build Coastguard Workerdef generate_qnn_executorch_option( 15*523fa7a6SAndroid Build Coastguard Worker compiler_specs: List[CompileSpec], 16*523fa7a6SAndroid Build Coastguard Worker) -> bytes: 17*523fa7a6SAndroid Build Coastguard Worker for compiler_spec in compiler_specs: 18*523fa7a6SAndroid Build Coastguard Worker if compiler_spec.key == QCOM_QNN_COMPILE_SPEC: 19*523fa7a6SAndroid Build Coastguard Worker qnn_compile_spec_buffer = compiler_spec.value 20*523fa7a6SAndroid Build Coastguard Worker else: 21*523fa7a6SAndroid Build Coastguard Worker raise ValueError(f"unknown compiler spec key value: {compiler_spec.key}") 22*523fa7a6SAndroid Build Coastguard Worker return qnn_compile_spec_buffer 23