From 2e2c6df346ab70eda7378a750cb96a1792de5b3b Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Mon, 30 Sep 2019 16:21:34 +0000 Subject: [PATCH] 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. From-SVN: r276335 --- gcc/ChangeLog | 5 +++++ gcc/sched-deps.c | 4 +--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 046fbfc8425..4c29a6c7f7e 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 87d0791374e..2571f04747e 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 -- 2.30.2