This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Fix bootstrap failure for sparc
- From: Jan Hubicka <jh at suse dot cz>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sat, 25 Jan 2003 22:21:36 +0100
- Subject: Fix bootstrap failure for sparc
Hi,
while testing bootstrap on Sparc I noticed that my cprop fix caused
bootstrap failure as there is one datastructure I overlooked - reg_set
table. I've copied the code to recompute it used by gcse and will
commit it as obvious to keep bootstrap working. It would be possible to
have smarter update now when adding/removing basic blocks don't change
everything around. I will try to look into it.
Honza
Sat Jan 25 22:18:52 CET 2003 Jan Hubicka <jh@suse.cz>
* gcse.c (local_cprop_pass): Update reg_sets table when needed.
Index: gcse.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/gcse.c,v
retrieving revision 1.229
diff -c -3 -p -r1.229 gcse.c
*** gcse.c 25 Jan 2003 20:10:37 -0000 1.229
--- gcse.c 25 Jan 2003 21:17:52 -0000
*************** local_cprop_pass (alter_jumps)
*** 4422,4428 ****
cselib_finish ();
/* Global analysis may get into infinite loops for unreachable blocks. */
if (changed && alter_jumps)
! delete_unreachable_blocks ();
}
/* Forward propagate copies. This includes copies and constants. Return
--- 4422,4433 ----
cselib_finish ();
/* Global analysis may get into infinite loops for unreachable blocks. */
if (changed && alter_jumps)
! {
! delete_unreachable_blocks ();
! free_reg_set_mem ();
! alloc_reg_set_mem (max_reg_num ());
! compute_sets (get_insns ());
! }
}
/* Forward propagate copies. This includes copies and constants. Return