Lines Matching refs:Context
106 MachineBasicBlock::iterator I, CallContext &Context);
108 void adjustCallSequence(MachineFunction &MF, const CallContext &Context);
254 CallContext Context; in runOnMachineFunction() local
255 collectCallInfo(MF, MBB, MI, Context); in runOnMachineFunction()
256 CallSeqVector.push_back(Context); in runOnMachineFunction()
350 CallContext &Context) { in collectCallInfo() argument
359 Context.FrameSetup = FrameSetup; in collectCallInfo()
367 Context.NoStackParams = true; in collectCallInfo()
391 Context.SPCopy = &*J++; in collectCallInfo()
392 StackPtr = Context.SPCopy->getOperand(0).getReg(); in collectCallInfo()
401 Context.ArgStoreVector.resize(MaxAdjust, nullptr); in collectCallInfo()
439 assert((size_t)StackDisp < Context.ArgStoreVector.size() && in collectCallInfo()
443 if (Context.ArgStoreVector[StackDisp] != nullptr) in collectCallInfo()
445 Context.ArgStoreVector[StackDisp] = &*I; in collectCallInfo()
463 Context.Call = &*I; in collectCallInfo()
469 auto MMI = Context.ArgStoreVector.begin(), MME = Context.ArgStoreVector.end(); in collectCallInfo()
470 for (; MMI != MME; ++MMI, Context.ExpectedDist += SlotSize) in collectCallInfo()
475 if (MMI == Context.ArgStoreVector.begin()) in collectCallInfo()
484 Context.UsePush = true; in collectCallInfo()
488 const CallContext &Context) { in adjustCallSequence() argument
492 MachineBasicBlock::iterator FrameSetup = Context.FrameSetup; in adjustCallSequence()
494 TII->setFrameAdjustment(*FrameSetup, Context.ExpectedDist); in adjustCallSequence()
501 for (int Idx = (Context.ExpectedDist >> Log2SlotSize) - 1; Idx >= 0; --Idx) { in adjustCallSequence()
502 MachineBasicBlock::iterator Store = *Context.ArgStoreVector[Idx]; in adjustCallSequence()
527 Push = BuildMI(MBB, Context.Call, DL, TII->get(PushOpcode)).add(PushOp); in adjustCallSequence()
538 BuildMI(MBB, Context.Call, DL, TII->get(X86::IMPLICIT_DEF), UndefReg); in adjustCallSequence()
539 BuildMI(MBB, Context.Call, DL, TII->get(X86::INSERT_SUBREG), Reg) in adjustCallSequence()
554 Push = BuildMI(MBB, Context.Call, DL, TII->get(PushOpcode)); in adjustCallSequence()
563 Push = BuildMI(MBB, Context.Call, DL, TII->get(PushOpcode)) in adjustCallSequence()
584 if (Context.SPCopy && MRI->use_empty(Context.SPCopy->getOperand(0).getReg())) in adjustCallSequence()
585 Context.SPCopy->eraseFromParent(); in adjustCallSequence()