1801efec9SMahesh Ravishankar#!/bin/bash 2801efec9SMahesh Ravishankar 356222a06SMehdi Amini# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 456222a06SMehdi Amini# See https://llvm.org/LICENSE.txt for license information. 556222a06SMehdi Amini# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6801efec9SMahesh Ravishankar 7801efec9SMahesh Ravishankar# Script for defining map for opname to opcode using SPIR-V spec from the 8801efec9SMahesh Ravishankar# Internet 9801efec9SMahesh Ravishankar# 10801efec9SMahesh Ravishankar# Run as: 11801efec9SMahesh Ravishankar# ./define_opcode.sh (<op-name>)* 12801efec9SMahesh Ravishankar# 13801efec9SMahesh Ravishankar# For example: 14801efec9SMahesh Ravishankar# ./define_opcode.sh OpTypeVoid OpTypeFunction 15801efec9SMahesh Ravishankar# 16801efec9SMahesh Ravishankar# If no op-name is specified, the existing opcodes are updated 17801efec9SMahesh Ravishankar# 18801efec9SMahesh Ravishankar# The 'instructions' list of spirv.core.grammar.json contains all instructions 19801efec9SMahesh Ravishankar# in SPIR-V 20801efec9SMahesh Ravishankar 21801efec9SMahesh Ravishankarset -e 22801efec9SMahesh Ravishankar 23801efec9SMahesh Ravishankarcurrent_file="$(readlink -f "$0")" 24801efec9SMahesh Ravishankarcurrent_dir="$(dirname "$current_file")" 25801efec9SMahesh Ravishankar 26801efec9SMahesh Ravishankarpython3 ${current_dir}/gen_spirv_dialect.py \ 27*4234292eSMaheshRavishankar --base-td-path ${current_dir}/../../include/mlir/Dialect/SPIRV/IR/SPIRVBase.td \ 28801efec9SMahesh Ravishankar --new-opcode $@ 29