reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1953 CvtOS << "void " << Target.getName() << ClassName << "::\n" 1959 CvtOS << "void " << Target.getName() << ClassName << "::\n" 1964 CvtOS << " assert(Kind < CVT_NUM_SIGNATURES && \"Invalid signature!\");\n"; 1965 CvtOS << " const uint8_t *Converter = ConversionTable[Kind];\n"; 1971 CvtOS << " unsigned DefaultsOffset[" << (MaxNumOperands + 1) 1973 CvtOS << " assert(OptionalOperandsMask.size() == " << (MaxNumOperands) 1975 CvtOS << " for (unsigned i = 0, NumDefaults = 0; i < " << (MaxNumOperands) 1977 CvtOS << " DefaultsOffset[i + 1] = NumDefaults;\n"; 1978 CvtOS << " NumDefaults += (OptionalOperandsMask[i] ? 1 : 0);\n"; 1979 CvtOS << " }\n"; 1981 CvtOS << " unsigned OpIdx;\n"; 1982 CvtOS << " Inst.setOpcode(Opcode);\n"; 1983 CvtOS << " for (const uint8_t *p = Converter; *p; p+= 2) {\n"; 1985 CvtOS << " OpIdx = *(p + 1) - DefaultsOffset[*(p + 1)];\n"; 1987 CvtOS << " OpIdx = *(p + 1);\n"; 1989 CvtOS << " switch (*p) {\n"; 1990 CvtOS << " default: llvm_unreachable(\"invalid conversion entry!\");\n"; 1991 CvtOS << " case CVT_Reg:\n"; 1992 CvtOS << " static_cast<" << TargetOperandClass 1994 CvtOS << " break;\n"; 1995 CvtOS << " case CVT_Tied: {\n"; 1996 CvtOS << " assert(OpIdx < (size_t)(std::end(TiedAsmOperandTable) -\n"; 1997 CvtOS << " std::begin(TiedAsmOperandTable)) &&\n"; 1998 CvtOS << " \"Tied operand not found\");\n"; 1999 CvtOS << " unsigned TiedResOpnd = TiedAsmOperandTable[OpIdx][0];\n"; 2000 CvtOS << " if (TiedResOpnd != (uint8_t) -1)\n"; 2001 CvtOS << " Inst.addOperand(Inst.getOperand(TiedResOpnd));\n"; 2002 CvtOS << " break;\n"; 2003 CvtOS << " }\n"; 2061 CvtOS << " case CVT_" 2121 CvtOS << " case " << Name << ":\n"; 2126 CvtOS << " if (OptionalOperandsMask[*(p + 1) - 1]) {\n" 2136 CvtOS << " static_cast<" << TargetOperandClass 2140 CvtOS << " break;\n"; 2195 CvtOS << " case " << Name << ":\n" 2226 CvtOS << " case " << Name << ":\n" 2255 CvtOS << " }\n }\n}\n\n"; 2339 OS << CvtOS.str();