Home | History | Annotate | Download | only in IPO

Lines Matching refs:Caller

48 STATISTIC(NumCallerCallersAnalyzed, "Number of caller-callers analyzed");
90 /// calling function, then bump up the caller's stack protection level.
91 static void AdjustCallerSSPLevel(Function *Caller, Function *Callee) {
99 AttributeSet OldSSPAttr = AttributeSet::get(Caller->getContext(),
104 Caller->removeAttributes(AttributeSet::FunctionIndex, OldSSPAttr);
105 Caller->addFnAttr(Attribute::SafeStack);
107 !Caller->hasFnAttribute(Attribute::SafeStack)) {
108 Caller->removeAttributes(AttributeSet::FunctionIndex, OldSSPAttr);
109 Caller->addFnAttr(Attribute::StackProtectReq);
111 !Caller->hasFnAttribute(Attribute::SafeStack) &&
112 !Caller->hasFnAttribute(Attribute::StackProtectReq)) {
113 Caller->removeAttributes(AttributeSet::FunctionIndex, OldSSPAttr);
114 Caller->addFnAttr(Attribute::StackProtectStrong);
116 !Caller->hasFnAttribute(Attribute::SafeStack) &&
117 !Caller->hasFnAttribute(Attribute::StackProtectReq) &&
118 !Caller->hasFnAttribute(Attribute::StackProtectStrong))
119 Caller->addFnAttr(Attribute::StackProtect);
127 /// available from other functions inlined into the caller. If we are able to
134 Function *Caller = CS.getCaller();
149 AdjustCallerSSPLevel(Caller, Callee);
243 const DataLayout &DL = Caller->getParent()->getDataLayout();
283 Function *Caller = CS.getCaller();
284 bool OptSize = Caller && !Caller->isDeclaration() &&
286 Caller->hasFnAttribute(Attribute::OptimizeForSize);
311 // when it would increase the threshold and the caller does not need to
318 !Caller->hasFnAttribute(Attribute::MinSize))
339 Function *Caller = CS.getCaller();
340 LLVMContext &Ctx = Caller->getContext();
342 emitOptimizationRemarkAnalysis(Ctx, DEBUG_TYPE, *Caller, DLoc, Msg);
365 Function *Caller = CS.getCaller();
377 // Try to detect the case where the current inlining candidate caller (call
393 if (Caller->hasLocalLinkage() || Caller->hasLinkOnceODRLinkage()) {
398 bool callerWillBeRemoved = Caller->hasLocalLinkage();
401 for (User *U : Caller->users()) {
404 // If this isn't a call to Caller (it could be some other sort
405 // of reference) skip it. Such references will prevent the caller
407 if (!CS2 || CS2.getCalledFunction() != Caller) {
429 // If all outer calls to Caller would get inlined, the cost for the last
430 // one is set very low by getInlineCost, in anticipation that Caller will
432 // is only one caller of Caller.
433 if (callerWillBeRemoved && !Caller->use_empty())
550 Function *Caller = CS.getCaller();
560 // Update the call graph by deleting the edge from Callee to Caller.
561 CG[Caller]->removeCallEdgeFor(CS);
578 LLVMContext &CallerCtx = Caller->getContext();
586 emitOptimizationRemarkMissed(CallerCtx, DEBUG_TYPE, *Caller, DLoc,
589 Caller->getName()));
596 emitOptimizationRemarkMissed(CallerCtx, DEBUG_TYPE, *Caller, DLoc,
599 Caller->getName()));
606 CallerCtx, DEBUG_TYPE, *Caller, DLoc,
607 Twine(Callee->getName() + " inlined into " + Caller->getName()));