github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/third_party/mlir/utils/spirv/define_opcodes.sh (about)

     1  #!/bin/bash
     2  
     3  # Copyright 2019 The MLIR Authors.
     4  #
     5  # Licensed under the Apache License, Version 2.0 (the "License");
     6  # you may not use this file except in compliance with the License.
     7  # You may obtain a copy of the License at
     8  #
     9  #   http://www.apache.org/licenses/LICENSE-2.0
    10  #
    11  # Unless required by applicable law or agreed to in writing, software
    12  # distributed under the License is distributed on an "AS IS" BASIS,
    13  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14  # See the License for the specific language governing permissions and
    15  # limitations under the License.
    16  
    17  # Script for defining map for opname to opcode using SPIR-V spec from the
    18  # Internet
    19  #
    20  # Run as:
    21  # ./define_opcode.sh (<op-name>)*
    22  #
    23  # For example:
    24  # ./define_opcode.sh OpTypeVoid OpTypeFunction
    25  #
    26  # If no op-name is specified, the existing opcodes are updated
    27  #
    28  # The 'instructions' list of spirv.core.grammar.json contains all instructions
    29  # in SPIR-V
    30  
    31  set -e
    32  
    33  current_file="$(readlink -f "$0")"
    34  current_dir="$(dirname "$current_file")"
    35  
    36  python3 ${current_dir}/gen_spirv_dialect.py \
    37    --base-td-path ${current_dir}/../../include/mlir/Dialect/SPIRV/SPIRVBase.td \
    38    --new-opcode $@