On Mon, Jun 11, 2012 at 7:32 AM, Richard Guenther <rguent...@suse.de> wrote: > > This makes ao_ref_from_mem less conservative if either MEM_OFFSET or > MEM_SIZE is not set. From other alias.c code and > set_mem_attributes_minus_bitpos one has to conclude that MEM_EXPR > is always conservatively correct (it only can cover a larger memory > area) and the MEM_OFFSET / MEM_SIZE pair can refine it. Thus, > we can make ao_ref_from_mem less conservative when, for example, > faced with variable array accesses which set_mem_attributes_minus_bitpos > ends up representing with an unknown MEM_OFFSET. > > Bootstrap and regtest running on x86_64-unknown-linux-gnu. > > Richard. > > 2012-06-11 Richard Guenther <rguent...@suse.de> > > * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove dead code. > * alias.c (ao_ref_from_mem): MEM_EXPR is conservative, MEM_OFFSET > and MEM_SIZE only refines it. Reflect that and be less conservative > if either of the latter is not known. >
This caused: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53688 -- H.J.