> 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
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 during local analysis and optimized (so separate
stores