This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Serious performance regression -- some tree optimizer questions





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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]