Lines Matching defs:AsmOperands
446 /// This is the operand # in the AsmOperands list that this should be
529 /// AsmOperands - The textual operands that this instruction matches,
533 SmallVector<AsmOperand, 8> AsmOperands;
569 AsmOperands(RHS.AsmOperands), RequiredFeatures(RHS.RequiredFeatures),
595 auto I = find_if(AsmOperands, [&](const AsmOperand &Op) {
598 return (I != AsmOperands.end()) ? I - AsmOperands.begin() : -1;
605 llvm::find_if(llvm::drop_begin(AsmOperands, LastIdx + 1),
607 return (I != AsmOperands.end()) ? I - AsmOperands.begin() : -1;
611 auto I = find_if(AsmOperands, [&](const AsmOperand &Op) {
614 return (I != AsmOperands.end()) ? I - AsmOperands.begin() : -1;
632 if (AsmOperands.size() != RHS.AsmOperands.size())
633 return AsmOperands.size() < RHS.AsmOperands.size();
637 for (unsigned i = 0, e = AsmOperands.size(); i != e; ++i) {
638 if (*AsmOperands[i].Class < *RHS.AsmOperands[i].Class)
640 if (*RHS.AsmOperands[i].Class < *AsmOperands[i].Class)
686 if (AsmOperands.size() != RHS.AsmOperands.size())
695 for (unsigned i = 0, e = AsmOperands.size(); i != e; ++i)
696 if (AsmOperands[i].Class->Kind != RHS.AsmOperands[i].Class->Kind ||
697 AsmOperands[i].Class->Kind == ClassInfo::Token)
698 if (*AsmOperands[i].Class < *RHS.AsmOperands[i].Class ||
699 *RHS.AsmOperands[i].Class < *AsmOperands[i].Class)
706 for (unsigned i = 0, e = AsmOperands.size(); i != e; ++i) {
707 if (*AsmOperands[i].Class < *RHS.AsmOperands[i].Class)
709 if (*RHS.AsmOperands[i].Class < *AsmOperands[i].Class)
834 for (unsigned i = 0, e = AsmOperands.size(); i != e; ++i) {
835 const AsmOperand &Op = AsmOperands[i];
870 // Find the AsmOperands that refer to the operands we're aliasing.
892 AsmOperands.erase(AsmOperands.begin() + SrcAsmOperand);
893 // Adjust the ResOperand references to any AsmOperands that followed
898 // Nothing to do for operands that don't reference AsmOperands.
950 if (AsmOperands.empty())
954 assert(!AsmOperands[0].Token.empty());
956 Mnemonic = AsmOperands[0].Token;
962 AsmOperands.erase(AsmOperands.begin());
963 } else if (AsmOperands[0].Token[0] != '$')
964 Mnemonic = AsmOperands[0].Token;
973 for (MatchableInfo::AsmOperand &Op : AsmOperands) {
989 AsmOperands.push_back(AsmOperand(IsIsolatedToken, Token));
1105 for (const AsmOperand &Op : AsmOperands) {
1386 std::vector<Record *> AsmOperands =
1390 for (Record *Rec : AsmOperands) {
1396 for (Record *Rec : AsmOperands) {
1491 for (unsigned i = 0, e = MI->AsmOperands.size(); i != e; ++i) {
1492 const MatchableInfo::AsmOperand &Op = MI->AsmOperands[i];
1613 // Note: buildInstructionOperandReference may insert new AsmOperands, so
1615 for (unsigned i = 0; i != II->AsmOperands.size(); ++i) {
1616 MatchableInfo::AsmOperand &Op = II->AsmOperands[i];
1715 MatchableInfo::AsmOperand *Op = &II->AsmOperands[AsmOpIdx];
1731 // Insert remaining suboperands after AsmOpIdx in II->AsmOperands.
1736 II->AsmOperands.insert(II->AsmOperands.begin() + AsmOpIdx + SI,
1740 Op = &II->AsmOperands[AsmOpIdx]; // update the pointer in case it moved
1834 if (AsmOperands[SrcOperand].SubOpIdx == -1) {
1841 assert(AsmOperands[SrcOperand + AI].SubOpIdx == (int)AI &&
1842 AsmOperands[SrcOperand + AI].SrcOpName == OpInfo.Name &&
1843 "unexpected AsmOperands for suboperands");
1881 StringRef Name = AsmOperands[SrcOp1].SrcOpName;
2119 II->AsmOperands[OpInfo.AsmOperandNum];
3439 MaxNumOperands = std::max(MaxNumOperands, MI->AsmOperands.size());
3572 for (const MatchableInfo::AsmOperand &Op : MI->AsmOperands)