> >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.

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