------- Additional Comments From joern dot rennecke at st dot com 2005-08-04 12:13 ------- Subject: Re: unrolling does not take target register pressure into account.
steven at gcc dot gnu dot org wrote: > > > >Could you give some specific examples of assesments that 3.4 can do and 4.1 >can not? > > Of course, you could write special-case pattern matchers for specific loops, but there is no infrastructure to do some assessments in a general way. In particular, there is no strength reduction information available during unrolling. Increments of address givs can be saved by doing unrolling, but the unroller can't tell what they are. Forthermore, from the giv information we can find array accesses, which allow to make an informed guess of the maximum iteration count without profile information or explicit loop bounds. Look at sh.c:sh_adjust_unroll_max and try to figure out how to port all the #if 0'ed code to 4.1 . -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20969