aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-09-30 16:21:34 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-09-30 16:21:34 +0000
commit2e2c6df346ab70eda7378a750cb96a1792de5b3b (patch)
tree3742c4b4423358b469ad52c40869440afae32448
parent52053c3b536353510cac1c8370541b24847f8022 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/sched-deps.c4
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