diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2011-04-04 20:19:45 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2011-04-04 20:19:45 +0000 |
commit | e5b0e1cab42d2b6e364e856dcdade434b8241c17 (patch) | |
tree | d2e5f25caa57b1f1ca4267f71b4e8b1c72221732 /gcc/ira.c | |
parent | a3935ffcb75885f82b3034c8b45bc54b14b49cff (diff) | |
download | gcc-e5b0e1cab42d2b6e364e856dcdade434b8241c17.zip gcc-e5b0e1cab42d2b6e364e856dcdade434b8241c17.tar.gz gcc-e5b0e1cab42d2b6e364e856dcdade434b8241c17.tar.bz2 |
re PR target/48380 (ICE in postreload.c while building trunk)
2011-04-01 Vladimir Makarov <vmakarov@redhat.com>
PR target/48380
* ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
not called.
* ira-emit.c (emit_move_list): Update reg equiv init insn list.
From-SVN: r171951
Diffstat (limited to 'gcc/ira.c')
-rw-r--r-- | gcc/ira.c | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -3657,8 +3657,6 @@ ira (FILE *f) if (delete_trivially_dead_insns (get_insns (), max_reg_num ())) df_analyze (); - grow_reg_equivs (); - if (max_regno != max_regno_before_ira) { regstat_free_n_sets_and_refs (); @@ -3667,10 +3665,10 @@ ira (FILE *f) regstat_compute_ri (); } - allocate_initial_values (reg_equivs); - overall_cost_before = ira_overall_cost; - if (ira_conflicts_p) + if (! ira_conflicts_p) + grow_reg_equivs (); + else { fix_reg_equiv_init (); @@ -3686,6 +3684,7 @@ ira (FILE *f) memset (ira_spilled_reg_stack_slots, 0, max_regno * sizeof (struct ira_spilled_reg_stack_slot)); } + allocate_initial_values (reg_equivs); timevar_pop (TV_IRA); |