Remove global call sets: shrink-wrap.c
authorRichard Sandiford <richard.sandiford@arm.com>
Mon, 30 Sep 2019 16:21:44 +0000 (16:21 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 30 Sep 2019 16:21:44 +0000 (16:21 +0000)
This is a straight replacement of "calls we can clobber without saving
them first".

2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* shrink-wrap.c: Include function-abi.h.
(requires_stack_frame_p): Use crtl->abi to test whether the
current function can use a register without saving it first.

From-SVN: r276337

gcc/ChangeLog
gcc/shrink-wrap.c

index 6d2d20f1df97257c4cda007962767adc6cbe29fe..c47da4cee4fdc9d5b555ce51ee13a2f22f2b22fb 100644 (file)
@@ -1,3 +1,9 @@
+2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * shrink-wrap.c: Include function-abi.h.
+       (requires_stack_frame_p): Use crtl->abi to test whether the
+       current function can use a register without saving it first.
+
 2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
 
        * sel-sched-ir.h (_def::crosses_call): Replace with...
index 018696637647f9b2d4e5042cc55e80988e9adb66..2dc92c34b17317be88af5937e6205d8c3b8bd279 100644 (file)
@@ -43,7 +43,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "regcprop.h"
 #include "rtl-iter.h"
 #include "valtrack.h"
-
+#include "function-abi.h"
 
 /* Return true if INSN requires the stack frame to be set up.
    PROLOGUE_USED contains the hard registers used in the function
@@ -76,7 +76,7 @@ requires_stack_frame_p (rtx_insn *insn, HARD_REG_SET prologue_used,
     }
   if (hard_reg_set_intersect_p (hardregs, prologue_used))
     return true;
-  hardregs &= ~call_used_or_fixed_regs;
+  hardregs &= ~crtl->abi->full_reg_clobbers ();
   for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++)
     if (TEST_HARD_REG_BIT (hardregs, regno)
        && df_regs_ever_live_p (regno))