2011/12/22 Jan Hubicka <hubi...@ucw.cz>:
>> On Wed, Dec 21, 2011 at 5:29 PM, Jan Hubicka <hubi...@ucw.cz> wrote:
>> >> Hi,
>> >>
>> >> given that we already have a workaround for zero size increase
>> >> estimates from estimate_ipcp_clone_size_and_time, I see little reason
>> >> not to extend it to negative values too, 0 is really just as bad as -2
>> >> that we are getting in the testcase.  Hopefully this will allow peple
>> >> who hit this bug proceed with their testing.
>> >>
>> >> Bootstrapped and tested on x86-64-linux with no regressions.
>> >> OK for trunk?
>> >
>> > Hmm, so the size value is not negative because 
>> > estimate_ipcp_clone_size_and_time
>> > would return 0 or negative value but because of
>> >  size -= stats.n_calls * removable_params_cost
>> > (i.e. the callee function is so small that the program will really shrink 
>> > because
>> > of reduced call overhead)?
>>
>> That doesn't make sense - is the 'removable_params_cost' maybe not
>> in-line with what estimate_num_insns computes for the param part
>> of the call cost?
>
> n_calls is the number of calls of the clonned function, not number of calls
> within the clonned function.  When you have function that is called 1000 times
> and is very small, clonning it and removing one of its arguments makes your
> program shrink.

But why throw program shrink amount and function size together - that
does not make sense (at least if you expect only positive final function size).

> At least that is my understanding of the code here. Martin?
>
> Honza

Reply via email to