On Thu, Nov 24, 2016 at 11:15 AM, Prathamesh Kulkarni
<prathamesh.kulka...@linaro.org> wrote:
> On 24 November 2016 at 15:23, Jan Hubicka <hubi...@ucw.cz> wrote:
>>> >If DECL_ARGUMENTS is not available at WPA stage then I see no other
>>> >way than to put the types on the jump functions.
>>> >
>>> OK. I will record the type in jump function and send a revised patch.
>>
>> It would be good to check how much of difference this makes to memory use
>> of WPA for larger program (i.e. Firefox). I guess it doesn't need to be too
>> bad given that most of those types are streamed for other reasons anyway.
>> The type lookup always seemed like a kludge, so indeed saving types to
>> jump functions makes sense to me.
> Similarly should the types also be saved in jump-function for ipa-bits
> propagation ?

I think for all propagation (also simple constant propagation).

Richard.

> Thanks,
> Prathamesh
>>
>> Thanks,
>> Honza
>>>
>>> Thanks,
>>> Kugan
>>>
>>> >>If just preferring DECL_ARGUMENTS is enough, then changing
>>> >>ipa_get_callee_param_type to use that if is is available, as Richi
>>> >>suggested, would indeed be preferable.  But if even falling back on it
>>> >>can cause errors, then I am not sure if it helps.
>>> >>
>>> >>In any event, thanks for diligently dealing with the fallout,
>>> >>
>>> >>Martin
>>> >>
>>> >>
>>> >>>
>>> >>>Bootstrapped and regression tested on x86_64-linux-gnu with no new
>>> >>>regressions. Is this OK for trunk?
>>> >>>
>>> >>>Thanks,
>>> >>>Kugan
>>> >>>
>>> >>>gcc/testsuite/ChangeLog:
>>> >>>
>>> >>>2016-11-18  Kugan Vivekanandarajah  <kug...@linaro.org>
>>> >>>
>>> >>>      PR IPA/78365
>>> >>>      * gcc.dg/torture/pr78365.c: New test.
>>> >>>
>>> >>>gcc/ChangeLog:
>>> >>>
>>> >>>2016-11-18  Kugan Vivekanandarajah  <kug...@linaro.org>
>>> >>>
>>> >>>      PR IPA/78365
>>> >>>      * ipa-cp.c (propagate_constants_accross_call): get param type from 
>>> >>> callees
>>> >>>      DECL_ARGUMENTS if available.
>>> >>>      * ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
>>> >>>      (ipcp_update_vr):  Remove now redundant conversion of precision 
>>> >>> for VR.
>>> >>>      * ipa-prop.h: Make ipa_get_callee_param_type local again.

Reply via email to