re PR rtl-optimization/30807 (postreload bug (might be generic in trunk))

PR rtl-optimization/30807
	* postreload.c (reload_combine): For every new use of REG_SUM,
	record the use of BASE.


Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>

From-SVN: r149282
This commit is contained in:
J"orn Rennecke 2009-07-06 13:28:22 +00:00 committed by Kaz Kojima
parent 172d54e01f
commit 83f63251d9
2 changed files with 20 additions and 0 deletions

View file

@ -1,3 +1,10 @@
2009-07-06 J"orn Rennecke <joern.rennecke@arc.com>
Kaz Kojima <kkojima@gcc.gnu.org>
PR rtl-optimization/30807
* postreload.c (reload_combine): For every new use of REG_SUM,
record the use of BASE.
2009-07-06 Jan Hubicka <jh@suse.cz>
* params.def: Revert my accidental commit at 2009-06-30.

View file

@ -886,6 +886,19 @@ reload_combine (void)
if (apply_change_group ())
{
/* For every new use of REG_SUM, we have to record the use
of BASE therein, i.e. operand 1. */
for (i = reg_state[regno].use_index;
i < RELOAD_COMBINE_MAX_USES; i++)
reload_combine_note_use
(&XEXP (*reg_state[regno].reg_use[i].usep, 1),
reg_state[regno].reg_use[i].insn);
if (reg_state[REGNO (base)].use_ruid
> reg_state[regno].use_ruid)
reg_state[REGNO (base)].use_ruid
= reg_state[regno].use_ruid;
/* Delete the reg-reg addition. */
delete_insn (insn);