Lines Matching full:tied
230 assert(!Operands[OpNo].isTied() && "Cannot move tied operands"); in addOperand()
299 // Moving tied operands would break the ties. in removeOperand()
302 assert(!Operands[i].isTied() && "Cannot move tied operands"); in removeOperand()
959 // For tied uses on inline asm, get the constraint from the def. in getRegClassConstraint()
1150 /// tieOperands - Mark operands at DefIdx and UseIdx as tied to each other.
1152 /// Use and def operands can be tied together, indicated by a non-zero TiedTo
1155 /// 0: Operand is not tied to anything.
1156 /// 1 to TiedMax-1: Tied to getOperand(TiedTo-1).
1157 /// TiedMax: Tied to an operand >= TiedMax-1.
1159 /// The tied def must be one of the first TiedMax operands on a normal
1160 /// instruction. INLINEASM instructions allow more tied defs.
1167 assert(!DefMO.isTied() && "Def is already tied to another use"); in tieOperands()
1168 assert(!UseMO.isTied() && "Use is already tied to another def"); in tieOperands()
1173 // Inline asm can use the group descriptors to find tied operands, in tieOperands()
1174 // statepoint tied operands are trivial to match (1-1 reg def with reg use), in tieOperands()
1175 // but on normal instruction, the tied def must be within the first TiedMax in tieOperands()
1186 /// Given the index of a tied register operand, find the operand it is tied to.
1187 /// Defs are tied to uses and vice versa. Returns the index of the tied operand
1191 assert(MO.isTied() && "Operand isn't tied"); in findTiedOperandIdx()
1199 // Normal tied defs must be in the 0..TiedMax-1 range. in findTiedOperandIdx()
1202 // MO is a def. Search for the tied use. in findTiedOperandIdx()
1208 llvm_unreachable("Can't find tied use"); in findTiedOperandIdx()
1216 assert(CurUseIdx != -1U && "only gc pointer statepoint operands can be tied"); in findTiedOperandIdx()
1227 llvm_unreachable("Can't find tied use"); in findTiedOperandIdx()
1238 assert(FlagMO.isImm() && "Invalid tied operand on inline asm"); in findTiedOperandIdx()
1249 // Operands in this group are tied to operands in TiedGroup which must be in findTiedOperandIdx()
1253 // OpIdx is a use tied to TiedGroup. in findTiedOperandIdx()
1257 // OpIdx is a def tied to this use group. in findTiedOperandIdx()
1261 llvm_unreachable("Invalid tied operand on inline asm"); in findTiedOperandIdx()
1588 // Ignore the defined registers as MCID marks only the uses as tied. in hasComplexRegisterTies()