Re: PING^2: [PATCH] Don't mark IFUNC resolver as only called directly

2018-05-26 Thread H.J. Lu
;, DECL_ATTRIBUTES (decl)) >>>> >> > so we are sure things stays in sync. >>>> >> > >>>> >> >>>> >> Like this >>>> >> >>>> >> diff --git a/gcc/symtab.c b/gcc/symtab.c >>>>

Re: PING^2: [PATCH] Don't mark IFUNC resolver as only called directly

2018-05-24 Thread H.J. Lu
lent to >>> >> > lookup_attribute ("ifunc", DECL_ATTRIBUTES (decl)) >>> >> > so we are sure things stays in sync. >>> >> > >>> >> >>> >> Like this >>> >> >>> >> diff --git a/gcc/sy

Re: PING^2: [PATCH] Don't mark IFUNC resolver as only called directly

2018-05-23 Thread H.J. Lu
xtend the verifier that ifunc_resolver flag is >> >> > equivalent to >> >> > lookup_attribute ("ifunc", DECL_ATTRIBUTES (decl)) >> >> > so we are sure things stays in sync. >> >> > >> >> >> >> Like this >>

Re: PING^2: [PATCH] Don't mark IFUNC resolver as only called directly

2018-05-23 Thread Jan Hubicka
> On Wed, May 23, 2018 at 2:01 AM, Jan Hubicka wrote: > >> On Tue, May 22, 2018 at 9:21 AM, Jan Hubicka wrote: > >> >> > > class ipa_opt_pass_d; > >> >> > > typedef ipa_opt_pass_d *ipa_opt_pass; > >> >> > > @@ -2894,7 +2896,8 @@ > >> >> > > cgraph_node::only_called_directly_or_

Re: PING^2: [PATCH] Don't mark IFUNC resolver as only called directly

2018-05-23 Thread H.J. Lu
On Wed, May 23, 2018 at 2:01 AM, Jan Hubicka wrote: >> On Tue, May 22, 2018 at 9:21 AM, Jan Hubicka wrote: >> >> > > class ipa_opt_pass_d; >> >> > > typedef ipa_opt_pass_d *ipa_opt_pass; >> >> > > @@ -2894,7 +2896,8 @@ >> >> > > cgraph_node::only_called_directly_or_aliased_p (v

Re: PING^2: [PATCH] Don't mark IFUNC resolver as only called directly

2018-05-23 Thread Jan Hubicka
> On Tue, May 22, 2018 at 9:21 AM, Jan Hubicka wrote: > >> > > class ipa_opt_pass_d; > >> > > typedef ipa_opt_pass_d *ipa_opt_pass; > >> > > @@ -2894,7 +2896,8 @@ > >> > > cgraph_node::only_called_directly_or_aliased_p (void) > >> > > && !DECL_STATIC_CONSTRUCTOR (d

Re: PING^2: [PATCH] Don't mark IFUNC resolver as only called directly

2018-05-22 Thread H.J. Lu
On Tue, May 22, 2018 at 9:21 AM, Jan Hubicka wrote: >> > > class ipa_opt_pass_d; >> > > typedef ipa_opt_pass_d *ipa_opt_pass; >> > > @@ -2894,7 +2896,8 @@ cgraph_node::only_called_directly_or_aliased_p >> > > (void) >> > > && !DECL_STATIC_CONSTRUCTOR (decl) >>

Re: PING^2: [PATCH] Don't mark IFUNC resolver as only called directly

2018-05-22 Thread Jan Hubicka
> > > class ipa_opt_pass_d; > > > typedef ipa_opt_pass_d *ipa_opt_pass; > > > @@ -2894,7 +2896,8 @@ cgraph_node::only_called_directly_or_aliased_p > > > (void) > > > && !DECL_STATIC_CONSTRUCTOR (decl) > > > && !DECL_STATIC_DESTRUCTOR (decl) > > >

PING^2: [PATCH] Don't mark IFUNC resolver as only called directly

2018-05-14 Thread H.J. Lu
On Wed, Apr 25, 2018 at 8:49 PM, H.J. Lu wrote: > On Thu, Apr 12, 2018 at 3:50 PM, H.J. Lu wrote: >> On Thu, Apr 12, 2018 at 6:39 AM, H.J. Lu wrote: >>> On Thu, Apr 12, 2018 at 5:17 AM, Jan Hubicka wrote: > On Thu, Apr 12, 2018 at 1:29 PM, H.J. Lu wrote: > > Since IFUNC resolver is cal

PING: [PATCH] Don't mark IFUNC resolver as only called directly

2018-04-25 Thread H.J. Lu
On Thu, Apr 12, 2018 at 3:50 PM, H.J. Lu wrote: > On Thu, Apr 12, 2018 at 6:39 AM, H.J. Lu wrote: >> On Thu, Apr 12, 2018 at 5:17 AM, Jan Hubicka wrote: On Thu, Apr 12, 2018 at 1:29 PM, H.J. Lu wrote: > Since IFUNC resolver is called indirectly, don't mark IFUNC resolver as > onl

Re: [PATCH] Don't mark IFUNC resolver as only called directly

2018-04-12 Thread H.J. Lu
amp; !externally_visible >>> > + && !lookup_attribute ("ifunc", DECL_ATTRIBUTES (decl))); >>> >>> How's it handled for our own generated resolver functions? That is, >>> isn't there sth cheaper than doing a lookup_attribute here? I see >>> that

Re: [PATCH] Don't mark IFUNC resolver as only called directly

2018-04-12 Thread H.J. Lu
On Thu, Apr 12, 2018 at 5:17 AM, Jan Hubicka wrote: >> On Thu, Apr 12, 2018 at 1:29 PM, H.J. Lu wrote: >> > Since IFUNC resolver is called indirectly, don't mark IFUNC resolver as >> > only called directly. >> > >> > OK for trunk? >> > >> > >> > H.J. >> > --- >> > gcc/ >> > >> > PR target

Re: [PATCH] Don't mark IFUNC resolver as only called directly

2018-04-12 Thread H.J. Lu
On Thu, Apr 12, 2018 at 5:13 AM, Richard Biener wrote: > On Thu, Apr 12, 2018 at 1:29 PM, H.J. Lu wrote: >> Since IFUNC resolver is called indirectly, don't mark IFUNC resolver as >> only called directly. >> >> OK for trunk? >> >> >> H.J. >> --- >> gcc/ >> >> PR target/85345 >> *

Re: [PATCH] Don't mark IFUNC resolver as only called directly

2018-04-12 Thread Jan Hubicka
> On Thu, Apr 12, 2018 at 1:29 PM, H.J. Lu wrote: > > Since IFUNC resolver is called indirectly, don't mark IFUNC resolver as > > only called directly. > > > > OK for trunk? > > > > > > H.J. > > --- > > gcc/ > > > > PR target/85345 > > * cgraph.h: Include stringpool.h" and "attribs

Re: [PATCH] Don't mark IFUNC resolver as only called directly

2018-04-12 Thread Richard Biener
On Thu, Apr 12, 2018 at 1:29 PM, H.J. Lu wrote: > Since IFUNC resolver is called indirectly, don't mark IFUNC resolver as > only called directly. > > OK for trunk? > > > H.J. > --- > gcc/ > > PR target/85345 > * cgraph.h: Include stringpool.h" and "attribs.h". > (cgraph_nod

[PATCH] Don't mark IFUNC resolver as only called directly

2018-04-12 Thread H.J. Lu
Since IFUNC resolver is called indirectly, don't mark IFUNC resolver as only called directly. OK for trunk? H.J. --- gcc/ PR target/85345 * cgraph.h: Include stringpool.h" and "attribs.h". (cgraph_node::only_called_directly_or_aliased_p): Return false for IFUNC r