> chain_map isn't initialized.
>
> This caused:
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103262
>
Hi,
this is patch I comitted that moves the misplaced hunk.
gcc/ChangeLog:
PR ipa/103262
* ipa-modref.c (merge_call_side_effects):
> > > + if (always_executed
> > > + && callee_summary->kills.length ()
> > > + && (!cfun->can_throw_non_call_exceptions
> > > + || !stmt_could_throw_p (cfun, stmt)))
> > > +{
> > > + /* Watch for self recursive updates. */
> > > + auto_vec saved_kills;
> > > +
> >
On 11/15/2021 11:51 AM, H.J. Lu via Gcc-patches wrote:
On Sun, Nov 14, 2021 at 10:53 AM Jan Hubicka via Gcc-patches
wrote:
I think you want get_addr_base_and_unit_offset here. All
variable indexed addresses are in separate stmts. That also means
you can eventually work with just byte sizes
On Sun, Nov 14, 2021 at 10:53 AM Jan Hubicka via Gcc-patches
wrote:
>
> > >
> > > I think you want get_addr_base_and_unit_offset here. All
> > > variable indexed addresses are in separate stmts. That also means
> > > you can eventually work with just byte sizes/offsets?
> >
> > Will do. The acc
> >
> > I think you want get_addr_base_and_unit_offset here. All
> > variable indexed addresses are in separate stmts. That also means
> > you can eventually work with just byte sizes/offsets?
>
> Will do. The access range in modref summary is bit based (since we want
> to disabiguate bitfield
On Fri, 12 Nov 2021, Jan Hubicka wrote:
> >
> > I wonder why we bother producing summaries for things that do not
> > bind locally? The summary->kills.length () has an upper bound?
>
> Because of local aliases.
> The size of the array is capped by param_max_modref_accesses which is
> 16.
> >
>
>
> I wonder why we bother producing summaries for things that do not
> bind locally? The summary->kills.length () has an upper bound?
Because of local aliases.
The size of the array is capped by param_max_modref_accesses which is
16.
>
> > + && summary->kills.length ())
> > + {
> > +
On Thu, 11 Nov 2021, Jan Hubicka wrote:
> Hi,
> This patch enables optimization of stores that are killed by calls.
> Modref summary is extended by array containing list of access ranges, relative
> to function parameters, that are known to be killed by the function.
> This array is collected duri