re PR rtl-optimization/8300 ([sparc] ICE in gen_reg_rtx, at emit-rtl.c:662)

PR opt/8300
	* toplev.c (rest_of_compilation): Delay no_new_pseudos until
	after initialize_uninitialized_subregs; update reg info assuming
	new pseudos were created.

From-SVN: r66030
This commit is contained in:
Richard Henderson 2003-04-23 21:32:58 -07:00 committed by Richard Henderson
parent 5c894b968c
commit 6ff76c365c
2 changed files with 14 additions and 7 deletions

View File

@ -1,3 +1,10 @@
2003-04-23 Richard Henderson <rth@redhat.com>
PR opt/8300
* toplev.c (rest_of_compilation): Delay no_new_pseudos until
after initialize_uninitialized_subregs; update reg info assuming
new pseudos were created.
2003-04-23 Neil Booth <neil@daikokuya.co.uk>
* Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.

View File

@ -3216,8 +3216,6 @@ rest_of_compilation (decl)
| (flag_thread_jumps ? CLEANUP_THREADING : 0));
timevar_pop (TV_FLOW);
no_new_pseudos = 1;
if (warn_uninitialized || extra_warnings)
{
uninitialized_vars_warning (DECL_INITIAL (decl));
@ -3227,17 +3225,19 @@ rest_of_compilation (decl)
if (optimize)
{
clear_bb_flags ();
if (!flag_new_regalloc && initialize_uninitialized_subregs ())
{
/* Insns were inserted, so things might look a bit different. */
/* Insns were inserted, and possibly pseudos created, so
things might look a bit different. */
insns = get_insns ();
update_life_info_in_dirty_blocks (UPDATE_LIFE_GLOBAL_RM_NOTES,
PROP_LOG_LINKS | PROP_REG_INFO
| PROP_DEATH_NOTES);
allocate_reg_life_data ();
update_life_info (NULL, UPDATE_LIFE_GLOBAL_RM_NOTES,
PROP_LOG_LINKS | PROP_REG_INFO | PROP_DEATH_NOTES);
}
}
no_new_pseudos = 1;
close_dump_file (DFI_life, print_rtl_with_bb, insns);
ggc_collect ();