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,

> >> > 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


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