Home | History | Annotate | Download | only in TableGen

Lines Matching full: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
415 /// Mnemonic - This is the first token of the matched instruction, its
416 /// mnemonic.
417 StringRef Mnemonic;
421 /// This directly corresponds to the tokenized AsmString after the mnemonic is
485 // The primary comparator is the instruction mnemonic.
486 if (Mnemonic != RHS.Mnemonic)
487 return Mnemonic < RHS.Mnemonic;
517 // The primary comparator is the instruction mnemonic.
518 if (Mnemonic != RHS.Mnemonic)
855 // The first token of the instruction is the mnemonic, which must be a
860 Mnemonic = AsmOperands[0].Token;
861 if (Mnemonic.empty())
863 "Missing instruction mnemonic");
865 if (Mnemonic[0] == '$')
867 "Invalid instruction mnemonic '" + Mnemonic.str() + "'!");
869 // Remove the first operand, it is tracked in the mnemonic field.
1276 // Generate operand match info for each mnemonic/operand class pair.
1385 // Parse the tokens after the mnemonic.
2318 // Keep track of all the aliases from a mnemonic. Use an std::map so that the
2333 // Process each alias a "from" mnemonic at a time, building the code executed
2355 // We can't have two aliases from the same mnemonic with no predicate.
2357 "two MnemonicAliases with the same 'from' mnemonic!");
2370 MatchCode += " Mnemonic = \"" +R->getValueAsString("ToMnemonic")+"\";\n";
2377 MatchCode += "Mnemonic = \"" + R->getValueAsString("ToMnemonic")+"\";\n";
2384 StringMatcher("Mnemonic", Cases, OS).Emit(Indent);
2399 OS << "static void applyMnemonicAliases(StringRef &Mnemonic, "
2448 << " Mnemonic;\n";
2454 OS << " return StringRef(MnemonicTable + Mnemonic + 1,\n";
2455 OS << " MnemonicTable[Mnemonic]);\n";
2478 OS << " /* Operand List Mask, Mnemonic, Operand Class, Features */\n";
2496 // Store a pascal-style length byte in the mnemonic.
2497 std::string LenMnemonic = char(II.Mnemonic.size()) + II.Mnemonic.str();
2499 << " /* " << II.Mnemonic << " */, ";
2548 << " &Operands,\n StringRef Mnemonic) {\n";
2562 << Info.OperandMatchInfo.size() << ", Mnemonic,\n"
2571 OS << " // equal_range guarantees that instruction mnemonic matches.\n";
2572 OS << " assert(Mnemonic == it->getMnemonic());\n\n";
2661 OS << " bool mnemonicIsValid(StringRef Mnemonic, unsigned VariantID);\n";
2678 OS << " StringRef Mnemonic);\n";
2718 // Generate the function that remaps for mnemonic aliases.
2752 // Store a pascal-style length byte in the mnemonic.
2753 std::string LenMnemonic = char(II.Mnemonic.size()) + II.Mnemonic.str();
2771 // following the mnemonic.
2775 << " Mnemonic;\n";
2784 OS << " return StringRef(MnemonicTable + Mnemonic + 1,\n";
2785 OS << " MnemonicTable[Mnemonic]);\n";
2821 // Store a pascal-style length byte in the mnemonic.
2822 std::string LenMnemonic = char(II.Mnemonic.size()) + II.Mnemonic.str();
2824 << " /* " << II.Mnemonic << " */, "
2851 // A method to determine if a mnemonic is in the list.
2853 << "mnemonicIsValid(StringRef Mnemonic, unsigned VariantID) {\n";
2870 OS << " std::equal_range(Start, End, Mnemonic, LessOpcode());\n";
2892 OS << " // Get the instruction mnemonic, which is the first token.\n";
2893 OS << " StringRef Mnemonic = ((" << Target.getName()
2897 OS << " // Process all MnemonicAliases to remap the mnemonic.\n";
2898 OS << " applyMnemonicAliases(Mnemonic, AvailableFeatures, VariantID);\n\n";
2928 OS << " std::equal_range(Start, End, Mnemonic, LessOpcode());\n\n";
2938 OS << " // equal_range guarantees that instruction mnemonic matches.\n";
2939 OS << " assert(Mnemonic == it->getMnemonic());\n";
2964 OS << " // mnemonic, keep track of it so we can report loc info.\n";
2974 OS << " // Otherwise, just reject this instance of the mnemonic.\n";