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 (const auto &[LHSOp, RHSOp] : zip_equal(AsmOperands, RHS.AsmOperands)) {
686 if (AsmOperands.size() != RHS.AsmOperands.size())
695 for (const auto &[LHSOp, RHSOp] : zip_equal(AsmOperands, RHS.AsmOperands)) {
706 for (const auto &[LHSOp, RHSOp] : zip_equal(AsmOperands, RHS.AsmOperands)) {
836 for (const auto &[Idx, Op] : enumerate(AsmOperands)) {
871 // Find the AsmOperands that refer to the operands we're aliasing.
893 AsmOperands.erase(AsmOperands.begin() + SrcAsmOperand);
894 // Adjust the ResOperand references to any AsmOperands that followed
899 // Nothing to do for operands that don't reference AsmOperands.
951 if (AsmOperands.empty())
955 assert(!AsmOperands[0].Token.empty());
957 Mnemonic = AsmOperands[0].Token;
963 AsmOperands.erase(AsmOperands.begin());
964 } else if (AsmOperands[0].Token[0] != '$')
965 Mnemonic = AsmOperands[0].Token;
974 for (MatchableInfo::AsmOperand &Op : AsmOperands) {
990 AsmOperands.push_back(AsmOperand(IsIsolatedToken, Token));
1106 for (const AsmOperand &Op : AsmOperands) {
1387 ArrayRef<const Record *> AsmOperands =
1391 for (const Record *Rec : AsmOperands) {
1397 for (const Record *Rec : AsmOperands) {
1492 for (const auto &[Idx, Op] : enumerate(MI->AsmOperands)) {
1610 // Note: buildInstructionOperandReference may insert new AsmOperands, so
1613 for (size_t Idx = 0; Idx < II->AsmOperands.size(); ++Idx) {
1614 MatchableInfo::AsmOperand &Op = II->AsmOperands[Idx];
1710 MatchableInfo::AsmOperand *Op = &II->AsmOperands[AsmOpIdx];
1726 // Insert remaining suboperands after AsmOpIdx in II->AsmOperands.
1731 II->AsmOperands.insert(II->AsmOperands.begin() + AsmOpIdx + SI,
1735 Op = &II->AsmOperands[AsmOpIdx]; // update the pointer in case it moved
1829 if (AsmOperands[SrcOperand].SubOpIdx == -1) {
1836 assert(AsmOperands[SrcOperand + AI].SubOpIdx == (int)AI &&
1837 AsmOperands[SrcOperand + AI].SrcOpName == OpInfo.Name &&
1838 "unexpected AsmOperands for suboperands");
1874 StringRef Name = AsmOperands[SrcOp1].SrcOpName;
2110 II->AsmOperands[OpInfo.AsmOperandNum];
3446 MaxNumOperands = std::max(MaxNumOperands, MI->AsmOperands.size());
3575 for (const MatchableInfo::AsmOperand &Op : MI->AsmOperands)