This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]