This is the mail archive of the gcc-bugs@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: Bug 14562 : copyrename & PRE


On Mon, 2004-03-15 at 13:27, Daniel Berlin wrote:
> 
> 

> 
> Before the transformation, you have:
>   T.6<D1061>_13 = k<D1047>_26 * 4;
> ...
>   T.2<D1056>_42 = T.1<D1055>_41 * 4;
> 
> one lexical occurrence of k * 4, one lexical occurrence of T.1 * 4.
> 
> after, you have
> <L0>:;
>   T.6<D1061>_13 = k<D1047>_26 * 4;
> ...
>   T.2<D1056>_42 = k<D1047>_41 * 4;
> 
> two lexical occurrences of k * 4.
> 

even tho k_41 has absolutely nothing to do with the 'k' in k_26 eh.

> > whats the 'class' thing?
> 
> ESSA version.
> 
> >There seems to be a class 1 use of k_29 that
> > doesnt exist when its T.1_29.
> That's my point.
> PRE sees another lexical occurrence when you give the variables new names.
> 
> This is one of the problems with the current SSAPRE algorithm, and most
> PRE algorithms, and the reason there is work to unify global value
> numbering and PRE - many more optimization opportunities.
> 
>  >
> > -fno-tree-pre makes it work, for what thats worth, so I figured it might
> > have something to do with the extra stuff PRE is doing...
> >
> So does -fno-tree-dominator-opts, etc.
> :)
> 
> I looked at the code PRE generates for optimizing that expression by eye,
> and it looks okay to me.

OK, I'll see if I can see anyone else doing something bad then. someone
is getting confused :-)

Thanks.

Andrew



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