Home | History | Annotate | Download | only in Utils

Lines Matching defs:Caller

104     /// Forward the 'resume' instruction to the caller's landing pad block.
163 /// Forward the 'resume' instruction to the caller's landing pad block.
210 // annotated as "unwinds to caller" when really it's nounwind (see
214 // "unwinds to caller" cleanupret, which can be trusted.
222 // marked "unwind to caller", it would be a verifier error if it
241 // be ConstantTokenNone to indicate unwind to caller, or can
328 /// return that pad instruction. If it unwinds to caller, return
364 // descendants. An unwind all the way out to a pad in the caller would
432 // invokes. The caller's "segment" of the deoptimization continuation
512 Function *Caller = FirstNewBlock->getParent();
521 for (Function::iterator I = FirstNewBlock->getIterator(), E = Caller->end();
538 for (Function::iterator BB = FirstNewBlock->getIterator(), E = Caller->end();
568 Function *Caller = FirstNewBlock->getParent();
596 // This connects all the instructions which 'unwind to caller' to the invoke
599 for (Function::iterator BB = FirstNewBlock->getIterator(), E = Caller->end();
610 // to caller" cleanup.
614 ConstantTokenNone::get(Caller->getContext());
635 // as "unwind to caller".
643 // descendant that definitively has an unwind to caller. In either
645 // be routed to the caller, so treat it as though it has a definitive
646 // unwind to caller.
647 UnwindDestToken = ConstantTokenNone::get(Caller->getContext());
676 E = Caller->end();
722 /// aliasing scopes from a function inlined into a caller multiple times could
731 // caller. I'm omitting that check here because it might confuse
878 // property of the callee, but also all control dependencies in the caller.
1061 // already in the caller. To do this, we might need a DT of the caller.
1078 // caller, then don't bother inserting the assumption.
1091 /// Once we have cloned code over from a callee into the caller,
1100 const Function *Caller = CS.getInstruction()->getParent()->getParent();
1103 CallGraphNode *CallerNode = CG[Caller];
1105 // Since we inlined some uninlined call sites in the callee into the caller,
1106 // add edges from the caller to all of the callees of the callee.
1144 // destination. This can also happen if the call graph node of the caller
1157 // Update the call graph by deleting the edge from Callee to Caller. We must
1158 // do this after the loop above in case Caller and Callee are the same.
1185 Function *Caller = TheCall->getParent()->getParent();
1187 // If the called function is readonly, then it could not mutate the caller's
1197 const DataLayout &DL = Caller->getParent()->getDataLayout();
1202 &IFI.ACT->getAssumptionCache(*Caller)) >=
1212 Caller->getParent()->getDataLayout().getPrefTypeAlignment(AggTy);
1220 &*Caller->begin()->begin());
1326 // ((__always_inline__, __nodebug__)) functions which must use caller
1343 /// caller. This returns false if it is not possible to inline this call.
1385 Function *Caller = OrigBB->getParent();
1388 // 1. If the caller has no GC, then the callee's GC must be propagated to the
1389 // caller.
1390 // 2. If the caller has a differing GC, it is invalid to inline.
1392 if (!Caller->hasGC())
1393 Caller->setGC(CalledFunc->getGC());
1394 else if (CalledFunc->getGC() != Caller->getGC())
1404 // Find the personality function used by the landing pads of the caller. If it
1408 Caller->hasPersonalityFn()
1409 ? Caller->getPersonalityFn()->stripPointerCasts()
1413 Caller->setPersonalityFn(CalledPersonality);
1460 // to caller.
1474 Function::iterator LastBlock = --Caller->end();
1487 auto &DL = Caller->getParent()->getDataLayout();
1515 // instructions are actually cloned into the caller so that we can easily
1523 CloneAndPruneFunctionInto(Caller, CalledFunc, VMap,
1532 HandleByValArgumentInit(Init.first, Init.second, Caller->getParent(),
1594 fixupLineNumbers(Caller, FirstNewBlock, TheCall);
1608 IFI.ACT->getAssumptionCache(*Caller).clear();
1612 // block for the callee, move them to the entry block of the caller. First
1616 BasicBlock::iterator InsertPoint = Caller->begin()->begin();
1632 // Keep track of the static allocas that we inline into the caller.
1646 Caller->getEntryBlock().getInstList().splice(
1650 DIBuilder DIB(*Caller->getParent());
1661 for (Function::iterator BB = FirstNewBlock, E = Caller->end(); BB != E;
1714 auto &DL = Caller->getParent()->getDataLayout();
1750 Module *M = Caller->getParent();
1792 E = Caller->end();
1828 // caller and we inline it into a call site which doesn't unwind but into
1853 // caller (but terminate it instead). If the caller's return type does not
1856 if (Caller->getReturnType() == TheCall->getType()) {
1864 Caller->getParent(), Intrinsic::experimental_deoptimize,
1865 {Caller->getReturnType()});
1914 Type *NewRetTy = Caller->getReturnType();
1948 if (Returns.size() == 1 && std::distance(FirstNewBlock, Caller->end()) == 1) {
1954 Caller->getBasicBlockList().pop_back();
2021 Caller->getBasicBlockList().splice(AfterCallBB->getIterator(),
2022 Caller->getBasicBlockList(), FirstNewBlock,
2023 Caller->end());
2120 Caller->getBasicBlockList().erase(CalleeEntry);
2126 auto &DL = Caller->getParent()->getDataLayout();
2128 &IFI.ACT->getAssumptionCache(*Caller))) {