From 15652f68ab4668a5164c708f18e1248b790203a6 Mon Sep 17 00:00:00 2001 From: Vladimir Makarov Date: Thu, 25 Oct 2012 04:19:43 +0000 Subject: [PATCH] re PR bootstrap/55068 (AIX bootstrap in push_reload() after LRA merge) 2012-10-24 Vladimir Makarov 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 --- gcc/ChangeLog | 7 +++++++ gcc/ira-emit.c | 3 ++- gcc/ira.c | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 48ccc22fe09..998be31a421 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2012-10-24 Vladimir Makarov + + 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 PR bootstrap/55067 diff --git a/gcc/ira-emit.c b/gcc/ira-emit.c index 683d47eba80..1e7f354102e 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 e91d37ddaa5..9a8b098cf48 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; } -- 2.30.2