#include "source/operand.h"
#include <assert.h>
#include <string.h>
#include <algorithm>
#include "DebugInfo.h"
#include "OpenCLDebugInfo100.h"
#include "source/macro.h"
#include "source/opcode.h"
#include "source/spirv_constant.h"
#include "operand.kinds-unified1.inc"
#include "spirv-tools/libspirv.h"
static const spv_operand_table_t kOperandTable = …;
spv_result_t spvOperandTableGet(spv_operand_table* pOperandTable,
spv_target_env) { … }
spv_result_t spvOperandTableNameLookup(spv_target_env,
const spv_operand_table table,
const spv_operand_type_t type,
const char* name,
const size_t nameLength,
spv_operand_desc* pEntry) { … }
spv_result_t spvOperandTableValueLookup(spv_target_env,
const spv_operand_table table,
const spv_operand_type_t type,
const uint32_t value,
spv_operand_desc* pEntry) { … }
const char* spvOperandTypeStr(spv_operand_type_t type) { … }
void spvPushOperandTypes(const spv_operand_type_t* types,
spv_operand_pattern_t* pattern) { … }
void spvPushOperandTypesForMask(spv_target_env env,
const spv_operand_table operandTable,
const spv_operand_type_t type,
const uint32_t mask,
spv_operand_pattern_t* pattern) { … }
bool spvOperandIsConcrete(spv_operand_type_t type) { … }
bool spvOperandIsConcreteMask(spv_operand_type_t type) { … }
bool spvOperandIsOptional(spv_operand_type_t type) { … }
bool spvOperandIsVariable(spv_operand_type_t type) { … }
bool spvExpandOperandSequenceOnce(spv_operand_type_t type,
spv_operand_pattern_t* pattern) { … }
spv_operand_type_t spvTakeFirstMatchableOperand(
spv_operand_pattern_t* pattern) { … }
spv_operand_pattern_t spvAlternatePatternFollowingImmediate(
const spv_operand_pattern_t& pattern) { … }
bool spvIsIdType(spv_operand_type_t type) { … }
bool spvIsInIdType(spv_operand_type_t type) { … }
std::function<bool(unsigned)> spvOperandCanBeForwardDeclaredFunction(
spv::Op opcode) { … }
std::function<bool(unsigned)> spvDbgInfoExtOperandCanBeForwardDeclaredFunction(
spv::Op opcode, spv_ext_inst_type_t ext_type, uint32_t key) { … }