aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@wasabisystems.com>2004-02-19 15:24:02 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2004-02-19 15:24:02 +0000
commitd754127f13abf5cb90e584ad4c6b6bf873597b5c (patch)
tree9fad95ec718c81cbb34aae67a9819f4583626c19
parent78cb77c13e86cb36640cf57230e2211aaea0ef2f (diff)
downloadgcc-d754127f13abf5cb90e584ad4c6b6bf873597b5c.zip
gcc-d754127f13abf5cb90e584ad4c6b6bf873597b5c.tar.gz
gcc-d754127f13abf5cb90e584ad4c6b6bf873597b5c.tar.bz2
reload1.c (reload): Correct comment.
* reload1.c (reload): Correct comment. (scan_paradoxical_subregs): Remove #if 0 and old comment. * doc/extend.texi (Local Reg Vars): Remove obsolete comment that register variables are not used by reload. From-SVN: r78100
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/doc/extend.texi5
-rw-r--r--gcc/reload1.c18
3 files changed, 12 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 90bf8d5..6e1808b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2004-02-19 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * reload1.c (reload): Correct comment.
+ (scan_paradoxical_subregs): Remove #if 0 and old comment.
+ * doc/extend.texi (Local Reg Vars): Remove obsolete comment that
+ register variables are not used by reload.
+
2004-02-19 Hans-Peter Nilsson <hp@axis.com>
PR target/14209
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 7c6b4fa..13bd75f 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -4417,10 +4417,7 @@ example, some 68000 operating systems call this register @code{%a5}.
Defining such a register variable does not reserve the register; it
remains available for other uses in places where flow control determines
-the variable's value is not live. However, these registers are made
-unavailable for use in the reload pass; excessive use of this feature
-leaves the compiler too few available registers to compile certain
-functions.
+the variable's value is not live.
This option does not guarantee that GCC will generate code that has
this variable in the register you specify at all times. You may not
diff --git a/gcc/reload1.c b/gcc/reload1.c
index dacf1b5..b64abf1 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -707,10 +707,9 @@ reload (rtx first, int global)
CLEAR_HARD_REG_SET (bad_spill_regs_global);
- /* Look for REG_EQUIV notes; record what each pseudo is equivalent to.
- Also find all paradoxical subregs and find largest such for each pseudo.
- On machines with small register classes, record hard registers that
- are used for user variables. These can never be used for spills. */
+ /* Look for REG_EQUIV notes; record what each pseudo is equivalent
+ to. Also find all paradoxical subregs and find largest such for
+ each pseudo. */
num_eliminable_invariants = 0;
for (insn = first; insn; insn = NEXT_INSN (insn))
@@ -3713,9 +3712,7 @@ finish_spills (int global)
return something_changed;
}
-/* Find all paradoxical subregs within X and update reg_max_ref_width.
- Also mark any hard registers used to store user variables as
- forbidden from being used for spill registers. */
+/* Find all paradoxical subregs within X and update reg_max_ref_width. */
static void
scan_paradoxical_subregs (rtx x)
@@ -3727,13 +3724,6 @@ scan_paradoxical_subregs (rtx x)
switch (code)
{
case REG:
-#if 0
- if (SMALL_REGISTER_CLASSES && REGNO (x) < FIRST_PSEUDO_REGISTER
- && REG_USERVAR_P (x))
- SET_HARD_REG_BIT (bad_spill_regs_global, REGNO (x));
-#endif
- return;
-
case CONST_INT:
case CONST:
case SYMBOL_REF: