This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: New loop unroller broken?
Hello,
> >the new loop unroller doesn't unroll the following trivial loop
> >on s390 (with -O2 -funroll-loops):
> >
> >void test(float *data, float d)
> >{
> > int i;
> > for (i = 0; i < 8; i++)
> > data[i] = d;
> >}
> >
> >because of
> >'Unable to prove that the loop iterates constant times'
> >which strikes me as somewhat odd.
> >
> >Is this the same on other platforms? Any ideas how to fix
> >this (or how to debug it)?
>
> Yes I see this also on PPC because of the doloop optimizations.
> I do know that this was fixed on rtlopt branch though but I do not
> when it is going to be fixed.
>
> Zdenek do you know where the problem is and how to fix it for 3.4
no (well, yes, but not with the patch acceptable in this stage).
> and
> 3.5?
I would definitely like to do something with this in 3.5; if everything
goes as I plan, I should have a new doloop pass that will be possible to
run after unrolling ready in about two weeks.
Zdenek