diff --git a/lib/Transforms/IPO/Inliner.cpp b/lib/Transforms/IPO/Inliner.cpp index bf0925c2e2f..f97fce6e06c 100644 --- a/lib/Transforms/IPO/Inliner.cpp +++ b/lib/Transforms/IPO/Inliner.cpp @@ -54,11 +54,12 @@ static bool InlineCallIfPossible(CallSite CS, CallGraph &CG, const std::set &SCCFunctions, const TargetData &TD) { Function *Callee = CS.getCalledFunction(); + Function *Caller = CS.getCaller(); + if (!InlineFunction(CS, &CG, &TD)) return false; // If the inlined function had a higher stack protection level than the // calling function, then bump up the caller's stack protection level. - Function *Caller = CS.getCaller(); if (Callee->hasFnAttr(Attribute::StackProtectReq)) Caller->addFnAttr(Attribute::StackProtectReq); else if (Callee->hasFnAttr(Attribute::StackProtect) &&