This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Out of SSA status and issues
On Tue, 2003-05-13 at 08:42, Diego Novillo wrote:
> On Tue, 2003-05-13 at 05:07, Michael Matz wrote:
>
> > An indirect reference is not a copy. I don't know if tree-ssa thinks it
> > is, but it definitely shouldn't.
> >
> Why?
>
> 1. foo()
> 2. {
> 3. int i, *p;
> 4.
> 5. p = malloc();
> 6. i = *p;
> 7. return i + 9;
> 8. }
>
> I see nothing wrong in replacing 'i + 9' with '*p + 9'. It would
> probably not be efficient, but I can't see it being wrong.
>
> Not that tree-ssa will do anything with this code, the default
> type-based aliasing is too conservative, but PTA may disambiguate this.
There is nothing wrong with it, as long as you know for sure that *p
hasn't changed between 'i = *p' and 'i+9'. Copyprop doesnt look for
that. All it does is says 'i = *p', I can replace all occurences of i
with *p...
Andrew