minor flow compile-time improvement

Richard Henderson rth@cygnus.com
Mon May 1 17:04:00 GMT 2000


Removes about 25 seconds (12%) from one of Brad's testcases.


r~

        * flow.c (calculate_global_regs_live): Skip for_each_successor_phi
        if not in SSA form.

Index: flow.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/flow.c,v
retrieving revision 1.271
diff -c -p -d -r1.271 flow.c
*** flow.c	2000/05/01 07:21:29	1.271
--- flow.c	2000/05/02 00:01:20
*************** calculate_global_regs_live (blocks_in, b
*** 3086,3093 ****
  	 global_live_at_start, since they are live only along a
  	 particular edge.  Set those regs that are live because of a
  	 phi node alternative corresponding to this particular block.  */
!       for_each_successor_phi (bb, &set_phi_alternative_reg, 
! 			      new_live_at_end);
  
        if (bb == ENTRY_BLOCK_PTR)
  	{
--- 3086,3094 ----
  	 global_live_at_start, since they are live only along a
  	 particular edge.  Set those regs that are live because of a
  	 phi node alternative corresponding to this particular block.  */
!       if (in_ssa_form)
! 	for_each_successor_phi (bb, &set_phi_alternative_reg, 
! 				new_live_at_end);
  
        if (bb == ENTRY_BLOCK_PTR)
  	{


More information about the Gcc-patches mailing list