pro64-support
[Top] [All Lists]

Re:

To: Liu Yang <ly@xxxxxxxxx>, sun.c.chan@xxxxxxxxx
Subject: Re:
From: Raymond Lo <lo@xxxxxxxxxxxxx>
Date: Tue, 14 Nov 2000 18:44:35 -0800
Cc: pro64 <pro64-support@xxxxxxxxxxx>
Organization: RouteFree Inc.
References: <002101c04ea0$39b96880$260379c8@act200>
Sender: owner-pro64-support@xxxxxxxxxxx
Liu Yang wrote:
Hello,Everyone!Could you find some info about the following problems I meet?
1 When I read the source code of Pro64,the comment said that:
Loop unrolling is performed by: BB *CG_LOOP_Unroll(LOOP_DESCR *loop), which
returns a new unrolled body if the loop is unrolled.  It may also create a
"remainder loop" in the prolog or epilog.

But I do not found this function in Pro64.And another function
unroll_multi_BB never been called in Pro64.I want to know whether this is
true.

2 In Single_BB_Do_Loop_SWP,is unrolling also done?

3 Before unroll,the whole loop converted to a single BB,is that true?

Thanks!

With my best regards,Liu Yang Advanced Compiler Lab
Institute of Computing Technology
Chinese Academy of Science
E-Mail :  ly@xxxxxxxxx


CG_LOOP_Unroll has been replaced by CG_LOOP_Optimize.  Most of your questions can be answered by examining CG_LOOP_Otpimize.  It controls the interaction between unrolling and other optimizations.    It invokes Unroll_Do_Loop and Unroll_Dowhile_Loop to do the actual unrolling.   Unrolling of multibb loop has not been supported/finished.  Unrolling of single BB loop (swp, no swp, do-loop, dowhile-loop) are supported.  See Unroll_Do_Loop and Unroll_Dowhile_Loop.   Inexpensive if-conversion is performed before entering CG_LOOP_Optimize.   CG_LOOP_Optimize, before performing unrolling, invokes Force_If_Convert to carry out more expensive if-conversions if the cost can be justified by the benefit of SWP or unrolling.

 -Raymond

<Prev in Thread] Current Thread [Next in Thread>