> Hi. > > The patch puts back ::get_create for a node that can be seen first time. > It's due to -O0 optimize attribute. It was unable to write properly > LTO test-case for it. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? > Thanks, > Martin > > gcc/ChangeLog: > > 2019-01-18 Martin Liska <mli...@suse.cz> > > PR lto/88876 > * ipa-pure-const.c (propagate_pure_const): Revert hunk as > we need default values of funct_state for a function that > is not optimized.
I think you want to test if y enables pure_const prior calling get becuase get_create will just create empty info that will likely have IPA_CONST (which is 0) and not IPA_NEITHER. There are multiple copies of this code in other propagators and I think they all needs to check if the pass is enabled for particular symbol and if not resort to propagating nothing. Honza > --- > gcc/ipa-pure-const.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > > diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c > index 8227eed29bc..b8fd08c0a7e 100644 > --- a/gcc/ipa-pure-const.c > +++ b/gcc/ipa-pure-const.c > @@ -1498,7 +1498,8 @@ propagate_pure_const (void) > } > if (avail > AVAIL_INTERPOSABLE) > { > - funct_state y_l = funct_state_summaries->get (y); > + funct_state y_l = funct_state_summaries->get_create (y); > + > if (dump_file && (dump_flags & TDF_DETAILS)) > { > fprintf (dump_file, >