> This is the updated version of the previously approved patch > submitted here (http://gcc.gnu.org/ml/gcc-patches/2013-03/msg01320.html ). > The changes are: > - using a new hook call_fusage_contains_non_callee_clobbers, > - incorporating minor review comments from Richard Sandiford > ( http://gcc.gnu.org/ml/gcc-patches/2014-04/msg01436.html ). > > As part of the fuse-caller-save patch series, bootstrapped and reg-tested on > x86_64, and build and reg-tested on MIPS. > > Eric, non-cgraph part OK for trunk?
I think we should consider creating a new rule: for every target hook added, another must be first removed... So this call_fusage_contains_non_callee_clobbers is essentially only a stop gap measure for the ports that haven't been changed yet? If so, please add a ??? comment at the beginning of collect_fn_hard_reg_usage: /* ??? To be removed when all the ports have been fixed. */ if (!targetm.call_fusage_contains_non_callee_clobbers) and invoke collect_fn_hard_reg_usage from rest_of_handle_final only when flag_use_caller_save is true. Why do you need to retest them in get_call_reg_set_usage and get_call_fndecl? -- Eric Botcazou