Lines Matching refs:Context
89 MachineBasicBlock::iterator I, CallContext &Context);
91 bool adjustCallSequence(MachineFunction &MF, const CallContext &Context);
239 CallContext Context; in runOnMachineFunction() local
240 collectCallInfo(MF, *BB, I, Context); in runOnMachineFunction()
241 CallSeqVector.push_back(Context); in runOnMachineFunction()
315 CallContext &Context) { in collectCallInfo() argument
325 Context.FrameSetup = FrameSetup; in collectCallInfo()
333 Context.NoStackParams = true; in collectCallInfo()
349 Context.SPCopy = I++; in collectCallInfo()
351 unsigned StackPtr = Context.SPCopy->getOperand(0).getReg(); in collectCallInfo()
358 Context.MovVector.resize(MaxAdjust, nullptr); in collectCallInfo()
397 assert((size_t)StackDisp < Context.MovVector.size() && in collectCallInfo()
401 if (Context.MovVector[StackDisp] != nullptr) in collectCallInfo()
403 Context.MovVector[StackDisp] = I; in collectCallInfo()
421 Context.Call = I; in collectCallInfo()
427 auto MMI = Context.MovVector.begin(), MME = Context.MovVector.end(); in collectCallInfo()
428 for (; MMI != MME; ++MMI, Context.ExpectedDist += 4) in collectCallInfo()
433 if (MMI == Context.MovVector.begin()) in collectCallInfo()
442 Context.UsePush = true; in collectCallInfo()
447 const CallContext &Context) { in adjustCallSequence() argument
451 MachineBasicBlock::iterator FrameSetup = Context.FrameSetup; in adjustCallSequence()
453 FrameSetup->getOperand(1).setImm(Context.ExpectedDist); in adjustCallSequence()
459 for (int Idx = (Context.ExpectedDist / 4) - 1; Idx >= 0; --Idx) { in adjustCallSequence()
460 MachineBasicBlock::iterator MOV = *Context.MovVector[Idx]; in adjustCallSequence()
474 Push = BuildMI(MBB, Context.Call, DL, TII->get(PushOpcode)) in adjustCallSequence()
487 Push = BuildMI(MBB, Context.Call, DL, TII->get(X86::PUSH32rmm)); in adjustCallSequence()
495 Push = BuildMI(MBB, Context.Call, DL, TII->get(X86::PUSH32r)) in adjustCallSequence()
513 if (MRI->use_empty(Context.SPCopy->getOperand(0).getReg())) in adjustCallSequence()
514 Context.SPCopy->eraseFromParent(); in adjustCallSequence()