Home | History | Annotate | Download | only in TableGen

Lines Matching refs:Mnemonic

84 //   1. A operand match table is built, each entry contains a mnemonic, an
86 // class/mnemonic and target features to be checked while trying to match.
89 // mnemonic and will check if the target feature for this mnemonic also
394 /// Mnemonic - This is the first token of the matched instruction, its
395 /// mnemonic.
396 StringRef Mnemonic;
400 /// This directly corresponds to the tokenized AsmString after the mnemonic is
460 // The primary comparator is the instruction mnemonic.
461 if (Mnemonic != RHS.Mnemonic)
462 return Mnemonic < RHS.Mnemonic;
483 // The primary comparator is the instruction mnemonic.
484 if (Mnemonic != RHS.Mnemonic)
746 // The first token of the instruction is the mnemonic, which must be a
751 Mnemonic = AsmOperands[0].Token;
753 if (Mnemonic[0] == '$')
755 "Invalid instruction mnemonic '" + Mnemonic.str() + "'!");
757 // Remove the first operand, it is tracked in the mnemonic field.
1150 // Generate operand match info for each mnemonic/operand class pair.
1279 // Parse the tokens after the mnemonic.
1947 OS << "static void applyMnemonicAliases(StringRef &Mnemonic, "
1950 // Keep track of all the aliases from a mnemonic. Use an std::map so that the
1959 // Process each alias a "from" mnemonic at a time, building the code executed
1981 // We can't have two aliases from the same mnemonic with no predicate.
1983 "two MnemonicAliases with the same 'from' mnemonic!");
1996 MatchCode += " Mnemonic = \"" +R->getValueAsString("ToMnemonic")+"\";\n";
2003 MatchCode += "Mnemonic = \"" + R->getValueAsString("ToMnemonic")+"\";\n";
2011 StringMatcher("Mnemonic", Cases, OS).Emit();
2033 OS << " uint32_t Mnemonic;\n";
2039 OS << " return StringRef(MnemonicTable + Mnemonic + 1,\n";
2040 OS << " MnemonicTable[Mnemonic]);\n";
2065 OS << " /* Operand List Mask, Mnemonic, Operand Class, Features */\n";
2085 // Store a pascal-style length byte in the mnemonic.
2086 std::string LenMnemonic = char(II.Mnemonic.size()) + II.Mnemonic.str();
2088 << " /* " << II.Mnemonic << " */, ";
2138 << " &Operands,\n StringRef Mnemonic) {\n";
2152 << Info.OperandMatchInfo.size() << ", Mnemonic,\n"
2161 OS << " // equal_range guarantees that instruction mnemonic matches.\n";
2162 OS << " assert(Mnemonic == it->getMnemonic());\n\n";
2251 OS << " bool MnemonicIsValid(StringRef Mnemonic);\n";
2264 OS << " StringRef Mnemonic);\n";
2288 // Generate the function that remaps for mnemonic aliases.
2325 // following the mnemonic.
2329 OS << " uint32_t Mnemonic;\n";
2339 OS << " return StringRef(MnemonicTable + Mnemonic + 1,\n";
2340 OS << " MnemonicTable[Mnemonic]);\n";
2369 // Store a pascal-style length byte in the mnemonic.
2370 std::string LenMnemonic = char(II.Mnemonic.size()) + II.Mnemonic.str();
2372 << " /* " << II.Mnemonic << " */, "
2403 // A method to determine if a mnemonic is in the list.
2405 << "MnemonicIsValid(StringRef Mnemonic) {\n";
2409 << Info.Matchables.size() << ", Mnemonic, LessOpcode());\n";
2425 OS << " // Get the instruction mnemonic, which is the first token.\n";
2426 OS << " StringRef Mnemonic = ((" << Target.getName()
2430 OS << " // Process all MnemonicAliases to remap the mnemonic.\n";
2433 OS << " applyMnemonicAliases(Mnemonic, AvailableFeatures);\n\n";
2455 << Info.Matchables.size() << ", Mnemonic, LessOpcode());\n\n";
2465 OS << " // equal_range guarantees that instruction mnemonic matches.\n";
2466 OS << " assert(Mnemonic == it->getMnemonic());\n";
2480 OS << " // mnemonic, keep track of it so we can report loc info.\n";
2483 OS << " // Otherwise, just reject this instance of the mnemonic.\n";