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.