aboutsummaryrefslogtreecommitdiff
path: root/gcc/hard-reg-set.h
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-09-30 16:21:49 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-09-30 16:21:49 +0000
commit7c3958812bd5e2e139c7f0adf8f03b505fda67f2 (patch)
treeebf2dbfac2d083425c627ba78e9bd582d4c515b5 /gcc/hard-reg-set.h
parentb21a62b6246d3344cf74c79965523e4f59db7459 (diff)
downloadgcc-7c3958812bd5e2e139c7f0adf8f03b505fda67f2.zip
gcc-7c3958812bd5e2e139c7f0adf8f03b505fda67f2.tar.gz
gcc-7c3958812bd5e2e139c7f0adf8f03b505fda67f2.tar.bz2
Hide regs_invalidated_by_call etc.
The previous patches removed all target-independent uses of regs_invalidated_by_call, call_used_or_fixed_regs and call_used_or_fixed_reg_p. This patch therefore restricts them to target-specific code (and reginfo.c, which sets them up). 2019-09-30 Richard Sandiford <richard.sandiford@arm.com> gcc/ * hard-reg-set.h (regs_invalidated_by_call): Only define if IN_TARGET_CODE. (call_used_or_fixed_regs): Likewise. (call_used_or_fixed_reg_p): Likewise. * reginfo.c (regs_invalidated_by_call): New macro. From-SVN: r276338
Diffstat (limited to 'gcc/hard-reg-set.h')
-rw-r--r--gcc/hard-reg-set.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/hard-reg-set.h b/gcc/hard-reg-set.h
index a54c167..6e7ceab 100644
--- a/gcc/hard-reg-set.h
+++ b/gcc/hard-reg-set.h
@@ -477,10 +477,12 @@ extern struct target_hard_regs *this_target_hard_regs;
#endif
#define savable_regs \
(this_target_hard_regs->x_savable_regs)
+#ifdef IN_TARGET_CODE
#define regs_invalidated_by_call \
(this_target_hard_regs->x_regs_invalidated_by_call)
#define call_used_or_fixed_regs \
(regs_invalidated_by_call | fixed_reg_set)
+#endif
#define reg_alloc_order \
(this_target_hard_regs->x_reg_alloc_order)
#define inv_reg_alloc_order \
@@ -509,6 +511,7 @@ extern const char * reg_class_names[];
#define REG_CAN_CHANGE_MODE_P(REGN, FROM, TO) \
(targetm.can_change_mode_class (FROM, TO, REGNO_REG_CLASS (REGN)))
+#ifdef IN_TARGET_CODE
/* Return true if register REGNO is either fixed or call-used
(aka call-clobbered). */
@@ -517,5 +520,6 @@ call_used_or_fixed_reg_p (unsigned int regno)
{
return fixed_regs[regno] || this_target_hard_regs->x_call_used_regs[regno];
}
+#endif
#endif /* ! GCC_HARD_REG_SET_H */