reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
8196 OpInfo.isMatchingInputConstraint() 8197 ? ConstraintOperands[OpInfo.getMatchedOperand()] 8198 : OpInfo; 8199 GetRegistersForValue(DAG, getCurSDLoc(), OpInfo, RefOpInfo); 8201 switch (OpInfo.Type) { 8203 if (OpInfo.ConstraintType == TargetLowering::C_Memory || 8204 ((OpInfo.ConstraintType == TargetLowering::C_Immediate || 8205 OpInfo.ConstraintType == TargetLowering::C_Other) && 8206 OpInfo.isIndirect)) { 8208 TLI.getInlineAsmMemConstraint(OpInfo.ConstraintCode); 8217 AsmNodeOperands.push_back(OpInfo.CallOperand); 8219 } else if (((OpInfo.ConstraintType == TargetLowering::C_Immediate || 8220 OpInfo.ConstraintType == TargetLowering::C_Other) && 8221 !OpInfo.isIndirect) || 8222 OpInfo.ConstraintType == TargetLowering::C_Register || 8223 OpInfo.ConstraintType == TargetLowering::C_RegisterClass) { 8227 if (OpInfo.AssignedRegs.Regs.empty()) { 8230 Twine(OpInfo.ConstraintCode) + "'"); 8236 OpInfo.AssignedRegs.AddInlineAsmOperands( 8237 OpInfo.isEarlyClobber ? InlineAsm::Kind_RegDefEarlyClobber 8244 SDValue InOperandVal = OpInfo.CallOperand; 8246 if (OpInfo.isMatchingInputConstraint()) { 8249 auto CurOp = findMatchingInlineAsmOperand(OpInfo.getMatchedOperand(), 8256 if (OpInfo.isIndirect) { 8286 true, OpInfo.getMatchedOperand(), dl, 8298 OpInfo.getMatchedOperand()); 8306 if ((OpInfo.ConstraintType == TargetLowering::C_Immediate || 8307 OpInfo.ConstraintType == TargetLowering::C_Other) && 8308 OpInfo.isIndirect) 8309 OpInfo.ConstraintType = TargetLowering::C_Memory; 8311 if (OpInfo.ConstraintType == TargetLowering::C_Immediate || 8312 OpInfo.ConstraintType == TargetLowering::C_Other) { 8314 TLI.LowerAsmOperandForConstraint(InOperandVal, OpInfo.ConstraintCode, 8317 if (OpInfo.ConstraintType == TargetLowering::C_Immediate) 8320 Twine(OpInfo.ConstraintCode) + "'"); 8325 Twine(OpInfo.ConstraintCode) + "'"); 8338 if (OpInfo.ConstraintType == TargetLowering::C_Memory) { 8339 assert(OpInfo.isIndirect && "Operand must be indirect to be a mem!"); 8345 TLI.getInlineAsmMemConstraint(OpInfo.ConstraintCode); 8359 assert((OpInfo.ConstraintType == TargetLowering::C_RegisterClass || 8360 OpInfo.ConstraintType == TargetLowering::C_Register || 8361 OpInfo.ConstraintType == TargetLowering::C_Immediate) && 8365 if (OpInfo.isIndirect) { 8369 Twine(OpInfo.ConstraintCode) + "'"); 8374 if (OpInfo.AssignedRegs.Regs.empty()) { 8376 Twine(OpInfo.ConstraintCode) + "'"); 8382 OpInfo.AssignedRegs.getCopyToRegs(InOperandVal, DAG, dl, 8385 OpInfo.AssignedRegs.AddInlineAsmOperands(InlineAsm::Kind_RegUse, false, 0, 8392 if (!OpInfo.AssignedRegs.Regs.empty()) 8393 OpInfo.AssignedRegs.AddInlineAsmOperands(InlineAsm::Kind_Clobber,