On 10/03/11 20:12, Richard Sandiford wrote: > But what I'm trying to say is that you're not just doing loop > unrolling followed by scheduling. You're doing loop unrolling, > followed by scheduling, followed by an overlapping of the unrolled loop > iterations. It just felt strange that the overlapping was being done > without any additional alias analysis.
I wouldn't say this is completely accurate either. If we overlap N iterations of the loop, then we are analyzing and scheduling N iterations together, so there isn't really additional overlap besides the loop kernel we find. The only assumption is that it does not matter whether you analyze iterations (X .. X + N - 1) or iterations (Y .. Y + N - 1), since they are indistinguishable at the RTL level. Hence, any schedule we find for overlapping N iterations must be valid for all starting points. Bernd