Kenneth Zadeck wrote: > Nick Clifton wrote: >> Hi Diego, >> >>> Jeff's point about our optimizers is also true. Nick, remember that >>> issue with MIPS optimizations you were discussing with Jeff a few days >>> ago? I didn't follow most of the details, but it involved ivopts and >>> sign issues. Could you send a summary? >> Sure: >> >> I was looking at how a gcc 4.1 based compiler optimized a fast >> fourier transform algorithm for the MIPS target. What I found was the >> it was producing much worse code than a similarly configured gcc 3.4 >> based compiler, and the culprit was the creation of the induction >> variables used in the inner loop. >> > I think that you are pointing the gun at the wrong suspect. I believe > that the true villain is some where down stream in the backend passes > that cannot see thru the type conversions. This is one case of us > having "degraded" the back end because the middle end likes to break > things up into smaller pieces and the back end has too small of a window > to look thru to do its work. > > We should be looking at the back end to see where it cannot see what it > needs to see rather than trying to stop getting the middle end code into > a reasonable form.
Uh, well, since the backend doesn't have real type information, it would be hard to make it see through type conversions.