]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Remove global call sets: sched-deps.c
authorRichard Sandiford <richard.sandiford@arm.com>
Mon, 30 Sep 2019 16:21:34 +0000 (16:21 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 30 Sep 2019 16:21:34 +0000 (16:21 +0000)
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

gcc/ChangeLog
gcc/sched-deps.c

index 046fbfc842585905a4107a3f1fcf52c2f37cfc5d..4c29a6c7f7ec6829dd994e4778ff77bd7fd69a25 100644 (file)
@@ -1,3 +1,8 @@
+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.
index 87d0791374ed6322fc4c97ec8655bcecc1782a58..2571f04747eb389f17cbc499402f0c624a72016f 100644 (file)
@@ -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