From 83f63251d92b61d083e7801e762089b372cbcf8e Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Mon, 6 Jul 2009 13:28:22 +0000 Subject: 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 From-SVN: r149282 --- gcc/postreload.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'gcc/postreload.c') diff --git a/gcc/postreload.c b/gcc/postreload.c index cf165ec..d23ae0b 100644 --- a/gcc/postreload.c +++ b/gcc/postreload.c @@ -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); -- cgit v1.1