This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]