This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fixes to estimate_num_insns from pretty-ipa branch


2009/4/9 Jan Hubicka <hubicka@ucw.cz>:
>> On Thu, Apr 9, 2009 at 4:18 PM, Jan Hubicka <hubicka@ucw.cz> wrote:
>>
>> > Index: tree-ssa-loop-ivcanon.c
>> > ===================================================================
>> > --- tree-ssa-loop-ivcanon.c ? ? (revision 145799)
>> > +++ tree-ssa-loop-ivcanon.c ? ? (working copy)
>> > @@ -136,8 +136,8 @@ tree_num_loop_insns (struct loop *loop,
>> > ? ?1) exit condition gets removed (2 insns)
>> > ? ?2) increment of the control variable gets removed (2 insns)
>> > ? ?3) All remaining statements are likely to get simplified
>> > - ? ? ?due to constant propagation. ?Hard to estimate; just
>> > - ? ? ?as a heuristics we decrease the rest by 1/3.
>> > + ? ? ?due to constant propagation and optimization on memory stores.
>> > + ? ? ?Hard to estimate; just as a heuristics we decrease the rest by 1/3.
>> >
>> > ? ?NINSNS is the number of insns in the loop before unrolling.
>> > ? ?NUNROLL is the number of times the loop is unrolled. ?*/
>> > @@ -149,7 +149,7 @@ estimated_unrolled_size (unsigned HOST_W
>> > ? HOST_WIDE_INT unr_insns = 2 * ((HOST_WIDE_INT) ninsns - 4) / 3;
>> > ? if (unr_insns <= 0)
>> > ? ? unr_insns = 1;
>> > - ?unr_insns *= (nunroll + 1);
>> > + ?unr_insns *= nunroll;
>>
>> This looks wrong. ?If the loop is unrolled once (nunroll == 1) we want
>> to multpliy unr_insns by 2.
> nunroll is initialized to niter. ?For loop
> for (i=0;i<2;i++)
> niter is 2 and so is nunroll, but we don't want to multiply code size
> estimate by 3.
>
> There seems always a bit of confusion about if nunroll means number of
> body copies at the end of unrolling process or number of new copies.
>
> I can also add -1 to caller of estimated_unrolled_size if it seems more
> correct.

Yeah.  With a comment.

THanks,
RIchard.

> Honza
>>
>> Richard.
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]