Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Operands

216     // Register operands don't have target flags.
530 /// implicit operands. It reserves space for the number of operands specified by
534 : MCID(&tid), Parent(0), Operands(0), NumOperands(0),
537 // Reserve space for the expected number of operands.
541 Operands = MF.allocateOperandArray(CapOperands);
551 : MCID(&MI.getDesc()), Parent(0), Operands(0), NumOperands(0),
556 Operands = MF.allocateOperandArray(CapOperands);
558 // Copy operands.
575 /// RemoveRegOperandsFromUseLists - Unlink all of the register operands in
577 /// operands already be on their use lists.
580 if (Operands[i].isReg())
581 MRI.removeRegOperandFromUseList(&Operands[i]);
584 /// AddRegOperandsToUseLists - Add all of the register operands in
586 /// operands not be on their use lists yet.
589 if (Operands[i].isReg())
590 MRI.addRegOperandToUseList(&Operands[i]);
595 assert(MBB && "Use MachineInstrBuilder to add operands to dangling instrs");
597 assert(MF && "Use MachineInstrBuilder to add operands to dangling instrs");
623 assert(MCID && "Cannot add operands before providing an instr descriptor");
625 // Check if we're adding one of our existing operands.
626 if (&Op >= Operands && &Op < Operands + NumOperands) {
628 // If adding Op requires reallocating or moving existing operands around,
637 // FIXME: Allow mixed explicit and implicit operands on inline asm.
644 while (OpNo && Operands[OpNo-1].isReg() && Operands[OpNo-1].isImplicit()) {
646 assert(!Operands[OpNo].isTied() && "Cannot move tied operands");
652 // RegMask operands go between the explicit and implicit operands.
659 // Determine if the Operands array needs to be reallocated.
662 MachineOperand *OldOperands = Operands;
665 Operands = MF.allocateOperandArray(CapOperands);
666 // Move the operands before the insertion point.
668 moveOperands(Operands, OldOperands, OpNo, MRI);
671 // Move the operands following the insertion point.
673 moveOperands(Operands + OpNo + 1, OldOperands + OpNo, NumOperands - OpNo,
678 if (OldOperands != Operands && OldOperands)
682 MachineOperand *NewMO = new (Operands + OpNo) MachineOperand(Op);
695 // explicit operands. The implicit operands are added first, then the
719 // Moving tied operands would break the ties.
721 if (Operands[i].isReg())
722 assert(!Operands[i].isTied() && "Cannot move tied operands");
726 if (MRI && Operands[OpNo].isReg())
727 MRI->removeRegOperandFromUseList(Operands + OpNo);
734 moveOperands(Operands + OpNo, Operands + OpNo + 1, N, MRI);
772 // If opcodes or number of operands are not the same then the two
791 // Check operands to make sure they match.
853 /// getNumExplicitOperands - Returns the number of non-implicit operands.
924 // Ignore queries about the initial operands.
933 // If we reach the implicit register operands, stop looking.
1055 // Accept regmask operands when Overlap is set.
1082 // so the number of operands is less than the MCID indicates. In
1097 /// tieOperands - Mark operands at DefIdx and UseIdx as tied to each other.
1099 /// Use and def operands can be tied together, indicated by a non-zero TiedTo
1106 /// The tied def must be one of the first TiedMax operands on a normal
1120 // Inline asm can use the group descriptors to find tied operands, but on
1122 // operands.
1174 // Operands in this group are tied to operands in TiedGroup which must be
1175 // earlier. Find the number of operands between the two groups.
1189 /// clearKillInfo - Clears kill flags on all operands.
1269 // FIXME: For now, do not remat any instruction with register operands.
1270 // Later on, we can loosen the restriction is the register operands have
1357 "It's illegal to have a PHI without source operands");
1391 /// copyImplicitOps - Copy implicit register operands from specified
1447 // Print explicitly defined operands on the left of an assignment syntax.
1472 // Print the rest of the operands.
1693 // Trim unneeded kill operands.
1703 // If not found, this means an alias of one of the operands is killed. Add a
1758 // Trim unneeded dead operands.
1768 // If not found, this means an alias of one of the operands is dead. Add a