Re: [PATCH 5/5] workaround for PR70427

2016-05-29 Thread Andi Kleen
On Mon, May 30, 2016 at 02:34:03AM +0200, Jan Hubicka wrote:
> > diff --git a/gcc/ipa-profile.c b/gcc/ipa-profile.c
> > index da17bcd..c7d7792 100644
> > --- a/gcc/ipa-profile.c
> > +++ b/gcc/ipa-profile.c
> > @@ -201,6 +201,8 @@ ipa_profile_generate_summary (void)
> > if (h->hvalue.counters[2])
> >   {
> > struct cgraph_edge * e = node->get_edge (stmt);
> > +   if (!e)
> > + continue;
> 
> This is odd. I do not think auto-fdo produces indirect call histograms and the
> edges should be present here.  Do you know from where the histogram is 
> created?

I don't know. How would I find out?

It should be reproducible by applying the patchkit and running make 
autoprofiledbootstrap

-Andi

-- 
a...@linux.intel.com -- Speaking for myself only


Re: [PATCH 5/5] workaround for PR70427

2016-05-29 Thread Jan Hubicka
> From: Andi Kleen 
> 
> This makes autofdo bootstrap not crash.
> 
> This is probably not the right fix, but for now it works for me.
> Not for submission.
> ---
>  gcc/ipa-profile.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/gcc/ipa-profile.c b/gcc/ipa-profile.c
> index da17bcd..c7d7792 100644
> --- a/gcc/ipa-profile.c
> +++ b/gcc/ipa-profile.c
> @@ -201,6 +201,8 @@ ipa_profile_generate_summary (void)
>   if (h->hvalue.counters[2])
> {
>   struct cgraph_edge * e = node->get_edge (stmt);
> + if (!e)
> +   continue;

This is odd. I do not think auto-fdo produces indirect call histograms and the
edges should be present here.  Do you know from where the histogram is created?

Honza
>   if (e && !e->indirect_unknown_callee)
> continue;
>   e->indirect_info->common_target_id
> -- 
> 2.8.2


[PATCH 5/5] workaround for PR70427

2016-05-21 Thread Andi Kleen
From: Andi Kleen 

This makes autofdo bootstrap not crash.

This is probably not the right fix, but for now it works for me.
Not for submission.
---
 gcc/ipa-profile.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gcc/ipa-profile.c b/gcc/ipa-profile.c
index da17bcd..c7d7792 100644
--- a/gcc/ipa-profile.c
+++ b/gcc/ipa-profile.c
@@ -201,6 +201,8 @@ ipa_profile_generate_summary (void)
if (h->hvalue.counters[2])
  {
struct cgraph_edge * e = node->get_edge (stmt);
+   if (!e)
+ continue;
if (e && !e->indirect_unknown_callee)
  continue;
e->indirect_info->common_target_id
-- 
2.8.2