This is the mail archive of the gcc@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]

Re: outdated comment in sched-rgn.c or bug in find_basic_blocks ?


> Jan Hubicka wrote:
> > Yes, this is correct.  We should not rebuilt the CFG now after the loop
> > optimizer (that should get updated, we are working on it).
> > Can you please update the comment?
> 
> Like this?
This looks fine to me.  Perhaps we don't need to reffer to loop as loop
is just temporary problem (I hope), instead we can mention that
scheduler runs after the profile has been constructed or something like
that.

Honza
> 	
> -- 
> --------------------------
> SuperH (UK) Ltd.
> 2410 Aztec West / Almondsbury / BRISTOL / BS32 4QX
> T:+44 1454 465658
> Index: sched-rgn.c
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/sched-rgn.c,v
> retrieving revision 1.50
> diff -p -r1.50 sched-rgn.c
> *** sched-rgn.c	13 Dec 2002 00:17:21 -0000	1.50
> --- sched-rgn.c	19 Dec 2002 17:06:43 -0000
> *************** init_regions ()
> *** 2909,2925 ****
>   	  dominance_info dom;
>   	  struct edge_list *edge_list;
>   
> ! 	  /* The scheduler runs after flow; therefore, we can't blindly call
>   	     back into find_basic_blocks since doing so could invalidate the
> ! 	     info in global_live_at_start.
> ! 
> ! 	     Consider a block consisting entirely of dead stores; after life
> ! 	     analysis it would be a block of NOTE_INSN_DELETED notes.  If
> ! 	     we call find_basic_blocks again, then the block would be removed
> ! 	     entirely and invalidate our the register live information.
> ! 
> ! 	     We could (should?) recompute register live information.  Doing
> ! 	     so may even be beneficial.  */
>   	  edge_list = create_edge_list ();
>   
>   	  /* Compute the dominators and post dominators.  */
> --- 2909,2917 ----
>   	  dominance_info dom;
>   	  struct edge_list *edge_list;
>   
> ! 	  /* The scheduler runs after loop; therefore, we can't blindly call
>   	     back into find_basic_blocks since doing so could invalidate the
> ! 	     branch probability info.  We could, however, call cleanup_cfg.  */
>   	  edge_list = create_edge_list ();
>   
>   	  /* Compute the dominators and post dominators.  */


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