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] Insert on edge comment


On Friday 30 May 2003 06:52 pm, law@redhat.com wrote:
> In message <Pine.LNX.4.44.0305310110570.27582-100000@wotan.suse.de>,
> Michael Ma
>
>  >Hmm.  Does this mean, that for instance this expression:
>  >
>  >  a/b*c+f(g,h(i))
>  >
>
> That will be represented something like:
>
>   t1 = a/b;
>   t2 = t1*c;
>   t3 = h(i);
>   t4 = f(g, t3);
>   t5 = t3 + t4;
>
> I didn't run it through to verify exact ordering, but it ought to look
> something like code above.
>
Presume:
* Hardware multiple is more common than hardware divide.
* Multiple (soft or hard) of two, like size elements returns a
double size result.
* Without dropping the result of a/b*c 

T1:T2 = a 'mul' c; maybeDead( a, c )
T3 = T1:T2 'div' b; dead( T1:T2 ); maybeDead( b )
T1 = hi(i); maybeDead( i, hi() )
T2 = f(g, T1); maybeDead( g, f() ); dead( T1 )
T1 = T2 'plus' T3; dead( T2, T3 )

That might be a better goal, has less register pressure.

Mike


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