aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2012-10-25 04:19:43 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2012-10-25 04:19:43 +0000
commit15652f68ab4668a5164c708f18e1248b790203a6 (patch)
tree4666b7b7ccbfe20c316af08a111d63b5dd7767ff /gcc
parent6f28886030623a25a73640e71ae3c5f31b406f70 (diff)
downloadgcc-15652f68ab4668a5164c708f18e1248b790203a6.zip
gcc-15652f68ab4668a5164c708f18e1248b790203a6.tar.gz
gcc-15652f68ab4668a5164c708f18e1248b790203a6.tar.bz2
re PR bootstrap/55068 (AIX bootstrap in push_reload() after LRA merge)
2012-10-24 Vladimir Makarov <vmakarov@redhat.com> PR bootstrap/55068 PR regression/55050 * ira.c (setup_reg_renumber): Fix assert. * ira-emit.c (emit_move_list): Update equivalences only for LRA. From-SVN: r192797
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/ira-emit.c3
-rw-r--r--gcc/ira.c1
3 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 48ccc22..998be31 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2012-10-24 Vladimir Makarov <vmakarov@redhat.com>
+ PR bootstrap/55068
+ PR regression/55050
+ * ira.c (setup_reg_renumber): Fix assert.
+ * ira-emit.c (emit_move_list): Update equivalences only for LRA.
+
+2012-10-24 Vladimir Makarov <vmakarov@redhat.com>
+
PR bootstrap/55067
* lra.c: Rename loc to sloc and loc_t to sloc_t.
diff --git a/gcc/ira-emit.c b/gcc/ira-emit.c
index 683d47e..1e7f354 100644
--- a/gcc/ira-emit.c
+++ b/gcc/ira-emit.c
@@ -947,7 +947,8 @@ emit_move_list (move_t list, int freq)
= gen_rtx_INSN_LIST (VOIDmode, insn, reg_equiv_init (regno));
}
}
- ira_update_equiv_info_by_shuffle_insn (to_regno, from_regno, list->insn);
+ if (ira_use_lra_p)
+ ira_update_equiv_info_by_shuffle_insn (to_regno, from_regno, list->insn);
emit_insn (list->insn);
mode = ALLOCNO_MODE (list->to);
aclass = ALLOCNO_CLASS (list->to);
diff --git a/gcc/ira.c b/gcc/ira.c
index e91d37d..9a8b098 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -1989,6 +1989,7 @@ setup_reg_renumber (void)
ira_assert (!optimize || flag_caller_saves
|| (ALLOCNO_CALLS_CROSSED_NUM (a)
== ALLOCNO_CHEAP_CALLS_CROSSED_NUM (a))
+ || regno >= ira_reg_equiv_len
|| ira_equiv_no_lvalue_p (regno));
caller_save_needed = 1;
}