@@ -1656,7 +1656,7 @@ record_set (rtx dest, const_rtx set, void *data ATTRIBUTE_UNUSED)
/* Return REG_BASE_VALUE for REGNO. Selective scheduler uses this to avoid
using hard registers with non-null REG_BASE_VALUE for renaming. */
-rtx
+static rtx
get_reg_base_value (unsigned int regno)
{
return (*reg_base_value)[regno];
@@ -4496,7 +4496,6 @@ extern bool may_be_sp_based_p (rtx);
extern rtx gen_hard_reg_clobber (machine_mode, unsigned int);
extern rtx get_reg_known_value (unsigned int);
extern bool get_reg_known_equiv_p (unsigned int);
-extern rtx get_reg_base_value (unsigned int);
extern rtx extract_mem_from_operand (rtx);
#ifdef STACK_REGS
@@ -1082,9 +1082,13 @@ init_regs_for_mode (machine_mode mode)
/* Can't use regs which aren't saved by
the prologue. */
|| !TEST_HARD_REG_BIT (sel_hrd.regs_ever_used, cur_reg + i)
+ /* It's fine to elide this since REG_BASE_VALUE will go away
+ and the info is in the MEMs itself. */
+#if 0
/* Can't use regs with non-null REG_BASE_VALUE, because adjusting
it affects aliasing globally and invalidates all AV sets. */
|| get_reg_base_value (cur_reg + i)
+#endif
#ifdef LEAF_REGISTERS
/* We can't use a non-leaf register if we're in a
leaf function. */