diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2019-09-30 16:21:34 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2019-09-30 16:21:34 +0000 |
commit | 2e2c6df346ab70eda7378a750cb96a1792de5b3b (patch) | |
tree | 3742c4b4423358b469ad52c40869440afae32448 | |
parent | 52053c3b536353510cac1c8370541b24847f8022 (diff) | |
download | gcc-2e2c6df346ab70eda7378a750cb96a1792de5b3b.zip gcc-2e2c6df346ab70eda7378a750cb96a1792de5b3b.tar.gz gcc-2e2c6df346ab70eda7378a750cb96a1792de5b3b.tar.bz2 |
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 <richard.sandiford@arm.com>
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/sched-deps.c | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 046fbfc..4c29a6c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2019-09-30 Richard Sandiford <richard.sandiford@arm.com> + * 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 <richard.sandiford@arm.com> + * rtlanal.c: Include function-abi.h. (reg_set_p): Use insn_callee_abi to get the ABI of the called function and clobbers_reg_p to test whether the register diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c index 87d0791..2571f04 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 |