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 :-).

Thanks,
James

 

Reply via email to