Serious performance regression -- some tree optimizer questions
Ulrich Weigand
Ulrich.Weigand@de.ibm.com
Wed Dec 29 15:00:00 GMT 2004
Hello Zdenek,
>> > 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 ...
Mit freundlichen Gruessen / Best Regards
Ulrich Weigand
--
Dr. Ulrich Weigand
Linux for S/390 Design & Development
IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
Phone: +49-7031/16-3727 --- Email: Ulrich.Weigand@de.ibm.com
More information about the Gcc
mailing list