Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:INLINEASM

27 #include "llvm/InlineAsm.h"
632 /// AddInlineAsmOperands - Add this value to the specified inlineasm node
784 /// AddInlineAsmOperands - Add this value to the specified inlineasm node
793 unsigned Flag = InlineAsm::getFlagWord(Code, Regs.size());
795 Flag = InlineAsm::getFlagWordForMatchingOp(Flag, MatchingIdx);
805 Flag = InlineAsm::getFlagWordForRegClass(Flag, RC->getID());
1829 if (isa<InlineAsm>(Callee))
5488 if (isa<InlineAsm>(I.getCalledValue())) {
5774 if (OpInfo.Type == InlineAsm::isInput &&
5855 /// visitInlineAsm - Handle a call to an InlineAsm object.
5858 const InlineAsm *IA = cast<InlineAsm>(CS.getCalledValue());
5878 case InlineAsm::isOutput:
5896 case InlineAsm::isInput:
5899 case InlineAsm::isClobber:
5980 (OpInfo.Type == InlineAsm::isInput)) &&
6038 // AsmNodeOperands - The operands for the ISD::INLINEASM node.
6054 ExtraInfo |= InlineAsm::Extra_HasSideEffects;
6056 ExtraInfo |= InlineAsm::Extra_IsAlignStack;
6071 case InlineAsm::isOutput: {
6077 // Add information to the INLINEASM node to know about this output.
6078 unsigned OpFlags = InlineAsm::getFlagWord(InlineAsm::Kind_Mem, 1);
6109 // Add information to the INLINEASM node to know that this register is
6112 InlineAsm::Kind_RegDefEarlyClobber :
6113 InlineAsm::Kind_RegDef,
6120 case InlineAsm::isInput: {
6130 unsigned CurOp = InlineAsm::Op_FirstOperand;
6135 assert((InlineAsm::isRegDefKind(OpFlag) ||
6136 InlineAsm::isRegDefEarlyClobberKind(OpFlag) ||
6137 InlineAsm::isMemKind(OpFlag)) && "Skipped past definitions?");
6138 CurOp += InlineAsm::getNumOperandRegisters(OpFlag)+1;
6143 if (InlineAsm::isRegDefKind(OpFlag) ||
6144 InlineAsm::isRegDefEarlyClobberKind(OpFlag)) {
6159 for (unsigned i = 0, e = InlineAsm::getNumOperandRegisters(OpFlag);
6167 MatchedRegs.AddInlineAsmOperands(InlineAsm::Kind_RegUse,
6173 assert(InlineAsm::isMemKind(OpFlag) && "Unknown matching constraint!");
6174 assert(InlineAsm::getNumOperandRegisters(OpFlag) == 1 &&
6176 // Add information to the INLINEASM node to know about this input.
6177 // See InlineAsm.h isUseOperandTiedToDef.
6178 OpFlag = InlineAsm::getFlagWordForMatchingOp(OpFlag,
6203 // Add information to the INLINEASM node to know about this input.
6205 InlineAsm::getFlagWord(InlineAsm::Kind_Imm, Ops.size());
6217 // Add information to the INLINEASM node to know about this input.
6218 unsigned ResOpType = InlineAsm::getFlagWord(InlineAsm::Kind_Mem, 1);
6243 OpInfo.AssignedRegs.AddInlineAsmOperands(InlineAsm::Kind_RegUse, false, 0,
6247 case InlineAsm::isClobber: {
6251 OpInfo.AssignedRegs.AddInlineAsmOperands(InlineAsm::Kind_Clobber,
6260 AsmNodeOperands[InlineAsm::Op_InputChain] = Chain;
6263 Chain = DAG.getNode(ISD::INLINEASM, getCurDebugLoc(),