From: Richard Sandiford Date: Mon, 30 Sep 2019 16:21:44 +0000 (+0000) Subject: Remove global call sets: shrink-wrap.c X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b21a62b6246d3344cf74c79965523e4f59db7459;p=gcc.git Remove global call sets: shrink-wrap.c This is a straight replacement of "calls we can clobber without saving them first". 2019-09-30 Richard Sandiford 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6d2d20f1df9..c47da4cee4f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-09-30 Richard Sandiford + + * 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 * sel-sched-ir.h (_def::crosses_call): Replace with... diff --git a/gcc/shrink-wrap.c b/gcc/shrink-wrap.c index 01869663764..2dc92c34b17 100644 --- a/gcc/shrink-wrap.c +++ b/gcc/shrink-wrap.c @@ -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))