https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106558

--- Comment #10 from Yury Gribov <ygribov at gcc dot gnu.org> ---
Created attachment 53458
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53458&action=edit
Very draft patch

(In reply to Jakub Jelinek from comment #7)
> Perhaps either a quick check that for base ptrs that live in memory
> gimple_vuse is the same for both statements or if not, do walk_aliased_vdefs
> with low constant limit?
> We'd want to stop if we reach the vdef of the stmt in base_checks vector
> (then we didn't find anything that could clobber it and can therefore use
> the cached check) or when we see a stmt that may clobber it (then we can't
> use the cached check).

Something like this? It does not help with b.1_2 in attached reprocase though,
because alias oracle considers
  *b.0_1 = 2;
to clobber it.

I'm trying to collect statistics how many checks this optimization removes
during bootstrap-asan but I'm getting crashes when asan-bootstrapping on
unchanged trunk. Is this possible?

Reply via email to