On Mon, 29 Feb 2016, James Greenhalgh wrote: > On Fri, Feb 26, 2016 at 09:32:53AM +0100, Richard Biener wrote: > > > > The following fixes PR69951, hopefully the last case of decl alias > > issues with alias analysis. This time it's points-to and the DECL_UIDs > > used in points-to sets not being canonicalized. > > > > The simplest (and cheapest) fix is to make aliases refer to the > > ultimate alias target via their DECL_PT_UID which we conveniently > > have available. > > > > Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. > > > > Richard. > > > > 2016-02-26 Richard Biener <rguent...@suse.de> > > > > PR tree-optimization/69551 > > * tree-ssa-structalias.c (get_constraint_for_ssa_var): When > > looking through aliases adjust DECL_PT_UID to refer to the > > ultimate alias target. > > > > * gcc.dg/torture/pr69951.c: New testcase. > > I see this new testcase failing on an ARM target as so: > > /tmp/ccChjoFc.s: Assembler messages: > /tmp/ccChjoFc.s:21: Warning: [-mwarn-syms]: Assignment makes a symbol > match an ARM instruction: b > > FAIL: gcc.dg/torture/pr69951.c -O0 (test for excess errors) > > But I haven't managed to reproduce it outside of the test environment. > > The fix looks trivial, rename b to anything else you fancy (well... stay > clear of add and ldr). I'll put a fix in myself if I can manage to get > this to reproduce - though if anyone else wants to do it I won't be > offended :-).
Huh, I wonder what's the use of such warning. After all 'ldr' is a valid C symbol name, too. In fact my cross arm as doesn't report this warning (binutils 2.25.0) > arm-suse-linux-gnueabi-as t.s -mwarn-syms Assembler messages: Error: unrecognized option -mwarn-syms Richard.