Lines Matching refs:InlineAsm
246 if (isa<InlineAsm>(CI->getCalledValue())) in diagnosePossiblyInvalidConstraint()
778 unsigned Flag = InlineAsm::getFlagWord(Code, Regs.size()); in AddInlineAsmOperands()
780 Flag = InlineAsm::getFlagWordForMatchingOp(Flag, MatchingIdx); in AddInlineAsmOperands()
790 Flag = InlineAsm::getFlagWordForRegClass(Flag, RC->getID()); in AddInlineAsmOperands()
805 if (TheReg == SP && Code == InlineAsm::Kind_Clobber) { in AddInlineAsmOperands()
2109 if (isa<InlineAsm>(Callee)) in visitInvoke()
5744 if (isa<InlineAsm>(I.getCalledValue())) { in visitCall()
6024 if (OpInfo.Type == InlineAsm::isInput && in GetRegistersForValue()
6107 const InlineAsm *IA = cast<InlineAsm>(CS.getCalledValue()); in visitInlineAsm()
6128 case InlineAsm::isOutput: in visitInlineAsm()
6147 case InlineAsm::isInput: in visitInlineAsm()
6150 case InlineAsm::isClobber: in visitInlineAsm()
6229 OpInfo.Type == InlineAsm::isClobber) in visitInlineAsm()
6237 (OpInfo.Type == InlineAsm::isInput)) && in visitInlineAsm()
6313 ExtraInfo |= InlineAsm::Extra_HasSideEffects; in visitInlineAsm()
6315 ExtraInfo |= InlineAsm::Extra_IsAlignStack; in visitInlineAsm()
6317 ExtraInfo |= IA->getDialect() * InlineAsm::Extra_AsmDialect; in visitInlineAsm()
6332 if (OpInfo.Type == InlineAsm::isInput) in visitInlineAsm()
6333 ExtraInfo |= InlineAsm::Extra_MayLoad; in visitInlineAsm()
6334 else if (OpInfo.Type == InlineAsm::isOutput) in visitInlineAsm()
6335 ExtraInfo |= InlineAsm::Extra_MayStore; in visitInlineAsm()
6336 else if (OpInfo.Type == InlineAsm::isClobber) in visitInlineAsm()
6337 ExtraInfo |= (InlineAsm::Extra_MayLoad | InlineAsm::Extra_MayStore); in visitInlineAsm()
6355 case InlineAsm::isOutput: { in visitInlineAsm()
6363 assert(ConstraintID != InlineAsm::Constraint_Unknown && in visitInlineAsm()
6367 unsigned OpFlags = InlineAsm::getFlagWord(InlineAsm::Kind_Mem, 1); in visitInlineAsm()
6368 OpFlags = InlineAsm::getFlagWordForMem(OpFlags, ConstraintID); in visitInlineAsm()
6403 ? InlineAsm::Kind_RegDefEarlyClobber in visitInlineAsm()
6404 : InlineAsm::Kind_RegDef, in visitInlineAsm()
6408 case InlineAsm::isInput: { in visitInlineAsm()
6418 unsigned CurOp = InlineAsm::Op_FirstOperand; in visitInlineAsm()
6423 assert((InlineAsm::isRegDefKind(OpFlag) || in visitInlineAsm()
6424 InlineAsm::isRegDefEarlyClobberKind(OpFlag) || in visitInlineAsm()
6425 InlineAsm::isMemKind(OpFlag)) && "Skipped past definitions?"); in visitInlineAsm()
6426 CurOp += InlineAsm::getNumOperandRegisters(OpFlag)+1; in visitInlineAsm()
6431 if (InlineAsm::isRegDefKind(OpFlag) || in visitInlineAsm()
6432 InlineAsm::isRegDefEarlyClobberKind(OpFlag)) { in visitInlineAsm()
6448 for (unsigned i = 0, e = InlineAsm::getNumOperandRegisters(OpFlag); in visitInlineAsm()
6464 MatchedRegs.AddInlineAsmOperands(InlineAsm::Kind_RegUse, in visitInlineAsm()
6470 assert(InlineAsm::isMemKind(OpFlag) && "Unknown matching constraint!"); in visitInlineAsm()
6471 assert(InlineAsm::getNumOperandRegisters(OpFlag) == 1 && in visitInlineAsm()
6475 OpFlag = InlineAsm::convertMemFlagWordToMatchingFlagWord(OpFlag); in visitInlineAsm()
6476 OpFlag = InlineAsm::getFlagWordForMatchingOp(OpFlag, in visitInlineAsm()
6503 InlineAsm::getFlagWord(InlineAsm::Kind_Imm, Ops.size()); in visitInlineAsm()
6518 assert(ConstraintID != InlineAsm::Constraint_Unknown && in visitInlineAsm()
6522 unsigned ResOpType = InlineAsm::getFlagWord(InlineAsm::Kind_Mem, 1); in visitInlineAsm()
6523 ResOpType = InlineAsm::getFlagWordForMem(ResOpType, ConstraintID); in visitInlineAsm()
6559 OpInfo.AssignedRegs.AddInlineAsmOperands(InlineAsm::Kind_RegUse, false, 0, in visitInlineAsm()
6563 case InlineAsm::isClobber: { in visitInlineAsm()
6567 OpInfo.AssignedRegs.AddInlineAsmOperands(InlineAsm::Kind_Clobber, in visitInlineAsm()
6576 AsmNodeOperands[InlineAsm::Op_InputChain] = Chain; in visitInlineAsm()