Lines Matching refs:a_insn
367 auto a_insn = a->get_def(a_type); in TypesMatch() local
369 assert(a_insn != a->end()); in TypesMatch()
374 if (a_arrayed && a_insn.opcode() == spv::OpTypeArray) { in TypesMatch()
375 return TypesMatch(a, b, a_insn.word(2), b_type, false, b_arrayed, relaxed); in TypesMatch()
383 if (a_insn.opcode() == spv::OpTypeVector && relaxed && IsNarrowNumericType(b_insn)) { in TypesMatch()
384 return TypesMatch(a, b, a_insn.word(2), b_type, a_arrayed, b_arrayed, false); in TypesMatch()
387 if (a_insn.opcode() != b_insn.opcode()) { in TypesMatch()
391 if (a_insn.opcode() == spv::OpTypePointer) { in TypesMatch()
393 return TypesMatch(a, b, a_insn.word(3), b_insn.word(3), a_arrayed, b_arrayed, relaxed); in TypesMatch()
401 switch (a_insn.opcode()) { in TypesMatch()
406 return a_insn.word(2) == b_insn.word(2) && a_insn.word(3) == b_insn.word(3); in TypesMatch()
409 return a_insn.word(2) == b_insn.word(2); in TypesMatch()
412 … if (!TypesMatch(a, b, a_insn.word(2), b_insn.word(2), a_arrayed, b_arrayed, false)) return false; in TypesMatch()
413 if (relaxed && IsNarrowNumericType(a->get_def(a_insn.word(2)))) { in TypesMatch()
414 return a_insn.word(3) >= b_insn.word(3); in TypesMatch()
416 return a_insn.word(3) == b_insn.word(3); in TypesMatch()
420 return TypesMatch(a, b, a_insn.word(2), b_insn.word(2), a_arrayed, b_arrayed, false) && in TypesMatch()
421 a_insn.word(3) == b_insn.word(3); in TypesMatch()
425 return TypesMatch(a, b, a_insn.word(2), b_insn.word(2), a_arrayed, b_arrayed, false) && in TypesMatch()
426 GetConstantValue(a, a_insn.word(3)) == GetConstantValue(b, b_insn.word(3)); in TypesMatch()
430 if (a_insn.len() != b_insn.len()) { in TypesMatch()
434 for (unsigned i = 2; i < a_insn.len(); i++) { in TypesMatch()
435 … if (!TypesMatch(a, b, a_insn.word(i), b_insn.word(i), a_arrayed, b_arrayed, false)) { in TypesMatch()