[31/32] Remove global call sets: shrink-wrap.c
diff mbox series

Message ID mptr24mtzef.fsf@arm.com
State New
Headers show
Series
  • Support multiple ABIs in the same translation unit
Related show

Commit Message

Richard Sandiford Sept. 11, 2019, 7:18 p.m. UTC
This is a straight replacement of "calls we can clobber without saving
them first".


2019-09-11  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.

Patch
diff mbox series

Index: gcc/shrink-wrap.c
===================================================================
--- gcc/shrink-wrap.c	2019-09-10 19:56:32.577268091 +0100
+++ gcc/shrink-wrap.c	2019-09-11 19:49:15.133482515 +0100
@@ -43,7 +43,7 @@  Software Foundation; either version 3, o
 #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,
     }
   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))