------- Additional Comments From dberlin at gcc dot gnu dot org 2005-08-08
20:40 -------
Subject: Re: missed fully redundant expression
On Mon, 2005-08-08 at 19:54 +0000, pinskia at gcc dot gnu dot org wrote:
> ------- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-08
> 19:54 -------
> Here is a stupid testcase which can be sped up by pulling the reduandant
> expressions up:
> int ii;
> static inline int f(int i, int ii)
> {
> return i/ ii;
> }
>
> int h(int) __attribute__((pure,const));
>
> int g(int i)
> {
> int j, j1 = i;
> for (j = 0; j <1000; j++)
> {
> int ii1 = ii;
> if (h(j))
> i = j1/ii1 + 2;
> else
> i = j1/ii1;
> }
> return i;
> }
>
You are also going to have to hoist the ii1 = ii because it has a vuse.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23286