This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Serious performance regression -- some tree optimizer questions
Hello,
> >> > yes, I plan to do this now.
> >
> >here is the patch.
>
> Many thanks, the loop optimizer now indeed recognizes that
> it can promote all relevant induction variables to the wider
> mode.
>
> Together with --param iv-consider-all-candidates-bound=100
> I'm now getting quite good code for the resid routine.
>
> The reason why I still need that param appears to be that
> ivopts does not recognize that an IV like &A[i] is related
> to a use like &A[i+1]. It appears that add_address_candidates
> would be supposed to handle this, but it doesn't -- it only
> sees though array references with a constant offset, not those
> with an offset that itself has a variable and a constant part.
>
> I've tried to add code recognizing that case there, but then
> the candidates still aren't chosen because they get assigned
> very high cost; this is because fold-const is unable to
> determine that &A[i+1] - &A[i] is a constant ...
try including these patches:
http://gcc.gnu.org/ml/gcc-patches/2004-12/msg01381.html
I think they might help with some of the problems you mention
above.
Zdenek