This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Insert on edge comment
- From: Michael S. Zick <mszick at goquest dot com>
- To: law at redhat dot com,Michael Matz <matz at suse dot de>
- Cc: Andrew MacLeod <amacleod at redhat dot com>,gcc mailing list <gcc at gcc dot gnu dot org>
- Date: Fri, 30 May 2003 21:04:25 -0500
- Subject: Re: [tree-ssa] Insert on edge comment
- References: <200305302352.h4UNquDd020463@speedy.slc.redhat.com>
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