Commit d754127f by Ian Lance Taylor Committed by Ian Lance Taylor

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
parent 78cb77c1
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> 2004-02-19 Hans-Peter Nilsson <hp@axis.com>
PR target/14209 PR target/14209
......
...@@ -4417,10 +4417,7 @@ example, some 68000 operating systems call this register @code{%a5}. ...@@ -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 Defining such a register variable does not reserve the register; it
remains available for other uses in places where flow control determines remains available for other uses in places where flow control determines
the variable's value is not live. However, these registers are made the variable's value is not live.
unavailable for use in the reload pass; excessive use of this feature
leaves the compiler too few available registers to compile certain
functions.
This option does not guarantee that GCC will generate code that has 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 this variable in the register you specify at all times. You may not
......
...@@ -707,10 +707,9 @@ reload (rtx first, int global) ...@@ -707,10 +707,9 @@ reload (rtx first, int global)
CLEAR_HARD_REG_SET (bad_spill_regs_global); CLEAR_HARD_REG_SET (bad_spill_regs_global);
/* Look for REG_EQUIV notes; record what each pseudo is equivalent to. /* Look for REG_EQUIV notes; record what each pseudo is equivalent
Also find all paradoxical subregs and find largest such for each pseudo. to. Also find all paradoxical subregs and find largest such for
On machines with small register classes, record hard registers that each pseudo. */
are used for user variables. These can never be used for spills. */
num_eliminable_invariants = 0; num_eliminable_invariants = 0;
for (insn = first; insn; insn = NEXT_INSN (insn)) for (insn = first; insn; insn = NEXT_INSN (insn))
...@@ -3713,9 +3712,7 @@ finish_spills (int global) ...@@ -3713,9 +3712,7 @@ finish_spills (int global)
return something_changed; return something_changed;
} }
/* Find all paradoxical subregs within X and update reg_max_ref_width. /* 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. */
static void static void
scan_paradoxical_subregs (rtx x) scan_paradoxical_subregs (rtx x)
...@@ -3727,13 +3724,6 @@ scan_paradoxical_subregs (rtx x) ...@@ -3727,13 +3724,6 @@ scan_paradoxical_subregs (rtx x)
switch (code) switch (code)
{ {
case REG: 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_INT:
case CONST: case CONST:
case SYMBOL_REF: case SYMBOL_REF:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment