Home | History | Annotate | Download | only in IPO

Lines Matching defs:Caller

47 STATISTIC(NumCallerCallersAnalyzed, "Number of caller-callers analyzed");
89 /// calling function, then bump up the caller's stack protection level.
90 static void AdjustCallerSSPLevel(Function *Caller, Function *Callee) {
97 AttributeSet OldSSPAttr = AttributeSet::get(Caller->getContext(),
102 Caller->removeAttributes(AttributeSet::FunctionIndex, OldSSPAttr);
103 Caller->addFnAttr(Attribute::StackProtectReq);
105 !Caller->hasFnAttribute(Attribute::StackProtectReq)) {
106 Caller->removeAttributes(AttributeSet::FunctionIndex, OldSSPAttr);
107 Caller->addFnAttr(Attribute::StackProtectStrong);
109 !Caller->hasFnAttribute(Attribute::StackProtectReq) &&
110 !Caller->hasFnAttribute(Attribute::StackProtectStrong))
111 Caller->addFnAttr(Attribute::StackProtect);
119 /// available from other functions inlined into the caller. If we are able to
126 Function *Caller = CS.getCaller();
133 AdjustCallerSSPLevel(Caller, Callee);
220 const DataLayout &DL = Caller->getParent()->getDataLayout();
260 Function *Caller = CS.getCaller();
261 bool OptSize = Caller && !Caller->isDeclaration() &&
262 Caller->hasFnAttribute(Attribute::OptimizeForSize);
268 // and the caller does not need to minimize its size.
273 !Caller->hasFnAttribute(Attribute::MinSize))
291 Function *Caller = CS.getCaller();
292 LLVMContext &Ctx = Caller->getContext();
294 emitOptimizationRemarkAnalysis(Ctx, DEBUG_TYPE, *Caller, DLoc, Msg);
317 Function *Caller = CS.getCaller();
329 // Try to detect the case where the current inlining candidate caller (call
345 if (Caller->hasLocalLinkage() || Caller->hasLinkOnceODRLinkage()) {
350 bool callerWillBeRemoved = Caller->hasLocalLinkage();
353 for (User *U : Caller->users()) {
356 // If this isn't a call to Caller (it could be some other sort
357 // of reference) skip it. Such references will prevent the caller
359 if (!CS2 || CS2.getCalledFunction() != Caller) {
381 // If all outer calls to Caller would get inlined, the cost for the last
382 // one is set very low by getInlineCost, in anticipation that Caller will
384 // is only one caller of Caller.
385 if (callerWillBeRemoved && !Caller->use_empty())
502 Function *Caller = CS.getCaller();
512 // Update the call graph by deleting the edge from Callee to Caller.
513 CG[Caller]->removeCallEdgeFor(CS);
530 LLVMContext &CallerCtx = Caller->getContext();
538 emitOptimizationRemarkMissed(CallerCtx, DEBUG_TYPE, *Caller, DLoc,
541 Caller->getName()));
548 emitOptimizationRemarkMissed(CallerCtx, DEBUG_TYPE, *Caller, DLoc,
551 Caller->getName()));
558 CallerCtx, DEBUG_TYPE, *Caller, DLoc,
559 Twine(Callee->getName() + " inlined into " + Caller->getName()));