This is a straight replacement of an existing "full or partial"
call-clobber check.


2019-09-11  Richard Sandiford  <richard.sandif...@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.

Index: gcc/sched-deps.c
===================================================================
--- gcc/sched-deps.c    2019-09-11 19:47:32.902202887 +0100
+++ gcc/sched-deps.c    2019-09-11 19:49:08.517529131 +0100
@@ -3736,9 +3736,7 @@ deps_analyze_insn (class deps_desc *deps
              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 (abi.id (), i,
-                                                            reg_raw_mode[i])
-                     || TEST_HARD_REG_BIT (regs_invalidated_by_call, i))
+           else if (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

Reply via email to