Lines Matching defs:opCode

60         const spv::Op opCode = asOpCode(word);
64 switch (opCode) {
71 return opCode * 19 + offset; // 19 = small prime
74 spirvbin_t::range_t spirvbin_t::literalRange(spv::Op opCode) const
78 switch (opCode) {
93 spirvbin_t::range_t spirvbin_t::typeRange(spv::Op opCode) const
97 if (isConstOp(opCode))
100 switch (opCode) {
114 spirvbin_t::range_t spirvbin_t::constRange(spv::Op opCode) const
118 switch (opCode) {
132 const spv::Op opCode = asOpCode(typeStart);
137 switch (opCode) {
159 bool spirvbin_t::isStripOp(spv::Op opCode, unsigned start) const
161 switch (opCode) {
186 bool spirvbin_t::isFlowCtrl(spv::Op opCode) const
188 switch (opCode) {
202 bool spirvbin_t::isTypeOp(spv::Op opCode) const
204 switch (opCode) {
230 bool spirvbin_t::isConstOp(spv::Op opCode) const
232 switch (opCode) {
383 [&](spv::Op opCode, unsigned start) {
385 if (isStripOp(opCode, start))
396 [&](spv::Op opCode, unsigned start) {
398 switch (opCode) {
439 [&](spv::Op opCode, unsigned start) {
443 if (spv::InstructionDesc[opCode].hasType())
447 if (spv::InstructionDesc[opCode].hasResult()) {
462 if (opCode == spv::Op::OpName) {
467 } else if (opCode == spv::Op::OpFunctionCall) {
469 } else if (opCode == spv::Op::OpEntryPoint) {
471 } else if (opCode == spv::Op::OpFunction) {
479 } else if (opCode == spv::Op::OpFunctionEnd) {
488 } else if (isConstOp(opCode)) {
494 } else if (isTypeOp(opCode)) {
536 spv::Op opCode = asOpCode(instructionStart);
546 if (instFn(opCode, instructionStart))
550 if (spv::InstructionDesc[opCode].hasType()) {
555 if (spv::InstructionDesc[opCode].hasResult()) {
562 if (opCode == spv::OpExtInst) {
587 if (opCode == spv::OpSpecConstantOp) {
589 opCode = asOpCode(word++); // this is the opcode embedded in the SpecConstantOp.
594 switch (spv::InstructionDesc[opCode].operands.getClass(op)) {
610 // if (opCode == spv::OpDecorate && asDecoration(word - 1) == spv::DecorationBuiltIn) {
618 if (opCode == OpSwitch) {
768 const spv::Op opCode = asOpCode(start);
770 if (opCode == spv::OpFunction)
773 if (opCode == spv::OpFunctionEnd)
777 if (spv::InstructionDesc[opCode].hasResult()) {
778 const unsigned word = start + (spv::InstructionDesc[opCode].hasType() ? 2 : 1);
810 [&](spv::Op opCode, unsigned start) {
811 switch (opCode) {
839 ++opCounter[opCode];
841 thisOpCode = opCode;
878 [&](spv::Op opCode, unsigned start) {
880 if ((opCode == spv::OpVariable && asWordCount(start) == 4) &&
886 if (opCode == spv::OpAccessChain && fnLocalVars.count(asId(start+3)) > 0)
889 if (opCode == spv::OpLoad && fnLocalVars.count(asId(start+3)) > 0) {
908 [&](spv::Op opCode, unsigned start) {
910 if ((opCode == spv::OpVariable && asWordCount(start) == 4) &&
914 if (opCode == spv::OpStore && fnLocalVars.count(asId(start+1)) > 0) {
947 [&](spv::Op opCode, unsigned start) {
951 if (isFlowCtrl(opCode))
955 if ((opCode == spv::OpVariable && spv[start+3] == spv::StorageClassFunction && asWordCount(start) == 4)) {
961 if ((opCode == spv::OpAccessChain || opCode == spv::OpInBoundsAccessChain) && fnLocalVars.count(asId(start+3)) > 0) {
967 if (opCode == spv::OpLoad && fnLocalVars.count(asId(start+3)) > 0) {
993 if (opCode == spv::OpStore && fnLocalVars.count(asId(start+1)) > 0) {
1037 [&](spv::Op opCode, unsigned start) {
1038 if (opCode == spv::OpLoad && fnLocalVars.count(asId(start+3)) > 0)
1063 [&](spv::Op opCode, unsigned start) {
1064 if ((opCode == spv::OpLoad && fnLocalVars.count(asId(start+3)) > 0) ||
1065 (opCode == spv::OpStore && fnLocalVars.count(asId(start+1)) > 0) ||
1066 (opCode == spv::OpVariable && fnLocalVars.count(asId(start+2)) > 0)) {
1111 [&](spv::Op opCode, unsigned start) {
1112 if (opCode == spv::Op::OpFunctionCall) {
1144 [&](spv::Op opCode, unsigned start) {
1145 if (opCode == spv::OpVariable) {
1148 } else if (opCode == spv::OpEntryPoint) {
1166 [&](spv::Op opCode, unsigned start) {
1168 if (opCode == spv::OpVariable)
1170 if (opCode == spv::OpDecorate || opCode == spv::OpName)
1242 const spv::Op opCode = asOpCode(typeStart);
1245 if (opCode != opOpCode(gdata[0]) || wordCount != opWordCount(gdata[0]))
1257 const auto cmpConst = [&]() { return cmpIdRange(constRange(opCode)); };
1258 const auto cmpSubType = [&]() { return cmpIdRange(typeRange(opCode)); };
1262 const auto range = literalRange(opCode);
1268 assert(isTypeOp(opCode) || isConstOp(opCode));
1270 switch (opCode) {
1311 const spv::Op opCode = asOpCode(typeStart);
1313 switch (opCode) {