From: rsandifo Date: Mon, 30 Sep 2019 16:21:34 +0000 (+0000) Subject: Remove global call sets: sched-deps.c X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e95b6cac888157318084013278c41ee6a214756a;p=thirdparty%2Fgcc.git Remove global call sets: sched-deps.c This is a straight replacement of an existing "full or partial" call-clobber check. 2019-09-30 Richard Sandiford gcc/ * sched-deps.c (deps_analyze_insn): Use the ABI of the target function to test whether a register is fully or partly clobbered. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276335 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 046fbfc84258..4c29a6c7f7ec 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-09-30 Richard Sandiford + + * sched-deps.c (deps_analyze_insn): Use the ABI of the target + function to test whether a register is fully or partly clobbered. + 2019-09-30 Richard Sandiford * rtlanal.c: Include function-abi.h. diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c index 87d0791374ed..2571f04747eb 100644 --- a/gcc/sched-deps.c +++ b/gcc/sched-deps.c @@ -3736,9 +3736,7 @@ deps_analyze_insn (class deps_desc *deps, rtx_insn *insn) Since we only have a choice between 'might be clobbered' and 'definitely not clobbered', we must include all partly call-clobbered registers here. */ - else if (targetm.hard_regno_call_part_clobbered - (callee_abi.id (), i, reg_raw_mode[i]) - || TEST_HARD_REG_BIT (regs_invalidated_by_call, i)) + else if (callee_abi.clobbers_at_least_part_of_reg_p (i)) SET_REGNO_REG_SET (reg_pending_clobbers, i); /* We don't know what set of fixed registers might be used by the function, but it is certain that the stack pointer