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]

Re: [patches] Re: infinite loop in SPEC's gcc after your patches


> While you updated gcse to basically preserve the CFG, local cse
> was not updated.  Both have been run at this point, and the CFG
> is corrupt; cleanup_cfg then makes things worse, which leads to
> the abort.
Uff, this is another problem, than I am shooting for. But good catch
too. I believe I've added all neccesary find_basic_blcoks, but obviously
I've missed this one.

Updating CFG after CSE is quite trivial.  I will send patch for that once I
solve the remaining problems.

Bootstrapping i386, OK if suceeds?

Honza

Tue Jul 24 22:29:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
	Pointed out by Richard Henderson:
	* toplev.c (rest_of_compilation): Call find_basic_block before
	cleanup_cfg is call after gcse.

Index: toplev.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/toplev.c,v
retrieving revision 1.497
diff -c -3 -p -r1.497 toplev.c
*** toplev.c	2001/07/24 18:34:06	1.497
--- toplev.c	2001/07/24 20:29:40
*************** rest_of_compilation (decl)
*** 3060,3065 ****
--- 3060,3066 ----
  	  tem = tem2 = 0;
  	  timevar_push (TV_JUMP);
  	  rebuild_jump_labels (insns);
+ 	  find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
  	  cleanup_cfg (CLEANUP_EXPENSIVE);
  	  timevar_pop (TV_JUMP);
  


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