Hello,

> On Fri, 20 Jan 2006, Kenneth Zadeck wrote:
> > I would like permission to revert Zdenek's patch for a few days.  There
> > is nothing wrong with zdenek's patch, pe se, but it excercises a part of
> > df that should work but does not.
> 
> 
> I'm going to make an executive decision on this one, to restore bootstrap
> immediately.  I agree that Zdenek's patch be reverted for a few days
> without prejudice.  Both patch submitters followed the rules of bootstrap
> and regression test, but a bad (unforetestable) interaction occurred
> between the two.  It turns out that it was the Kenny's DF changes at
> fault, that contain paths that weren't fully tested with his changes
> alone.  Zdenek's patch is innocent, but reliant on this problematic
> functionality.

I propose the following workaround instead, that also restores bootstrap.  It
changes the way loop-iv uses df to more conservative one, that does not
seem to cause problems.

Zdenek

Index: loop-iv.c
===================================================================
*** loop-iv.c   (revision 110028)
--- loop-iv.c   (working copy)
*************** iv_analysis_loop_init (struct loop *loop
*** 250,263 ****
    current_loop = loop;
  
    /* Clear the information from the analysis of the previous loop.  */
!   if (first_time)
!     {
!       df = df_init (DF_HARD_REGS | DF_EQUIV_NOTES);
!       df_chain_add_problem (df, DF_UD_CHAIN);
!       bivs = htab_create (10, biv_hash, biv_eq, free);
!     }
!   else
!     clear_iv_info ();
  
    for (i = 0; i < loop->num_nodes; i++)
      {
--- 250,260 ----
    current_loop = loop;
  
    /* Clear the information from the analysis of the previous loop.  */
!   if (!first_time)
!     iv_analysis_done ();
!   df = df_init (DF_HARD_REGS | DF_EQUIV_NOTES);
!   df_chain_add_problem (df, DF_UD_CHAIN);
!   bivs = htab_create (10, biv_hash, biv_eq, free);
  
    for (i = 0; i < loop->num_nodes; i++)
      {

Reply via email to