On Tue, Dec 16, 2014 at 3:07 PM, Dehao Chen <de...@google.com> wrote: > The real bug is in debug info. The callgraph should look like: > > foo->D1EV->D4EV > > While everything is inlined into foo, but in the inline stack D1EV is missing.
Is it DFEed? > > This patch does not fix that problem, but is also reasonable because > if callee's definition is not available, we should not promote the > indirect call anyway. > It depends. If there is a wrong DFE before the promotion, we will end up missing opportunities. David > Dehao > > On Tue, Dec 16, 2014 at 2:45 PM, Xinliang David Li <davi...@google.com> wrote: >> Does it paper over the real bug? >> >> David >> >> On Tue, Dec 16, 2014 at 2:38 PM, Dehao Chen <de...@google.com> wrote: >>> This patch fixes the bug for undefined symbol in AutoFDO build. >>> >>> Testing on going. OK for google-4_9 branch? >>> >>> Thanks, >>> Dehao >>> >>> Index: gcc/auto-profile.c >>> =================================================================== >>> --- gcc/auto-profile.c (revision 218784) >>> +++ gcc/auto-profile.c (working copy) >>> @@ -592,6 +592,8 @@ >>> continue; >>> if (!check_ic_target (stmt, node)) >>> continue; >>> + if (!node->definition) >>> + continue; >>> (*map)[callee] = iter->second->total_count (); >>> ret += iter->second->total_count (); >>> }