|Loop Unroll email@example.com (Alkaid) (2001-05-18)|
|Re: Loop Unroll firstname.lastname@example.org (Mike Dimmick) (2001-05-21)|
|Re: Loop Unroll email@example.com (Venkatesha Murthy G.) (2001-05-21)|
|Re: Loop Unroll firstname.lastname@example.org (Scott Moore) (2001-05-21)|
|Re: Loop Unroll email@example.com (2001-05-21)|
|Re: Loop Unroll firstname.lastname@example.org (Christian Bau) (2001-05-22)|
|From:||"Venkatesha Murthy G." <email@example.com>|
|Date:||21 May 2001 02:05:07 -0400|
|Posted-Date:||21 May 2001 02:05:06 EDT|
"Alkaid" <firstname.lastname@example.org> asked:
> When we do ILP optimization, loop unrolling is a kind of method.
> But there is a question: if loop time is a big prime number, how to unroll
> the loop?
> e.g. when loop time is 100, I can unroll the loop 4 times to get a new one
> which has 25 iterations. What shall I do if the loop time is 101?
Well, you could try replicating the loop body once outside the loop
and then unroll the loop which now runs an even number of times. You'll
of course have to setup initial conditions for the "outside" block(s).
Or you could find a number n such that the loop count = 2^n + r, r > 0
and r is something manageable and then you could make two loops - one
runnning r times, and one 2^n times - with the same body (and appropriate
Venkatesha Murthy G.
Return to the
Search the comp.compilers archives again.