summaryrefslogtreecommitdiff
path: root/gcc/hard-reg-set.h
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-09-10 18:56:31 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-09-10 18:56:31 +0000
commit026116ce2a4dedad81518b0ca89dd8243b545778 (patch)
tree28a5af82fb797ac35103431c00f3c8fbcd0dc2f8 /gcc/hard-reg-set.h
parentdf1f0eef67939274e9ddd3df426e8dfc5184086b (diff)
Remove no_caller_save_reg_set
Reusing the reasoning from the call_fixed_reg_set patch: for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) for (j = 1; j <= MOVE_MAX_WORDS; j++) if (reg_save_code (i,regno_save_mode[i][j]) == -1) should be true whenever regno_save_mode[i][j] == VOIDmode, which it is for: ~call_used_reg_set | ~have_save_mode So this condition amounts to: ~call_used_reg_set | ~have_save_mode | ~have_save_insn == ~call_used_reg_set | ~savable_regs no_caller_save_reg_set is then set if call_used_regs[i], so no_caller_save_reg_set is: call_used_reg_set & (~call_used_reg_set | ~savable_regs) == call_used_reg_set & ~savable_regs This patch expands its single user accordingly. Note that ~savable_regs is always empty on LRA targets. 2019-09-10 Richard Sandiford <richard.sandiford@arm.com> gcc/ * hard-reg-set.h (target_hard_regs::x_no_caller_save_reg_set): Delete. (no_caller_save_reg_set): Delete. * caller-save.c (init_caller_save): Don't initialize it. * ira-conflicts.c (ira_build_conflicts): Calculate no_caller_save_reg_set locally from call_used_reg_set and savable_regs. From-SVN: r275599
Diffstat (limited to 'gcc/hard-reg-set.h')
-rw-r--r--gcc/hard-reg-set.h6
1 files changed, 0 insertions, 6 deletions
diff --git a/gcc/hard-reg-set.h b/gcc/hard-reg-set.h
index 4c8da3a7ac8..945e4996664 100644
--- a/gcc/hard-reg-set.h
+++ b/gcc/hard-reg-set.h
@@ -424,10 +424,6 @@ struct target_hard_regs {
with the local stack frame are safe, but scant others. */
HARD_REG_SET x_regs_invalidated_by_call;
- /* Call used hard registers which cannot be saved because there is no
- insn for this. */
- HARD_REG_SET x_no_caller_save_reg_set;
-
/* Table of register numbers in the order in which to try to use them. */
int x_reg_alloc_order[FIRST_PSEUDO_REGISTER];
@@ -490,8 +486,6 @@ extern struct target_hard_regs *this_target_hard_regs;
(this_target_hard_regs->x_savable_regs)
#define regs_invalidated_by_call \
(this_target_hard_regs->x_regs_invalidated_by_call)
-#define no_caller_save_reg_set \
- (this_target_hard_regs->x_no_caller_save_reg_set)
#define reg_alloc_order \
(this_target_hard_regs->x_reg_alloc_order)
#define inv_reg_alloc_order \